在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']
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)