不区分大小写的列表排序,而不降低结果大小?

不区分大小写的列表排序,而不降低结果大小?,第1张

不区分大小写的列表排序,而不降低结果大小?

在Python
3.3+中,有

str.casefold
一种专为无条件匹配而设计的方法:

sorted_list = sorted(unsorted_list, key=str.casefold)

在Python 2中使用

lower()

sorted_list = sorted(unsorted_list, key=lambda s: s.lower())

它适用于普通字符串和unipre字符串,因为它们都有

lower
方法。

在Python 2中,它可以将普通字符串和unipre字符串混合使用,因为这两种类型的值可以相互比较。但是,Python
3不能那样工作:您不能比较字节字符串和unipre字符串,因此在Python 3中,您应该做理智的事情,并且只能对一种类型的字符串列表进行排序。

>>> lst = ['Aden', u'abe1']>>> sorted(lst)['Aden', u'abe1']>>> sorted(lst, key=lambda s: s.lower())[u'abe1', 'Aden']


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存