按字母顺序排列字符串列表

时间:2016-06-16 11:18:16

标签: python list sorted cmp alphabetical-sort

所以我有一个问题,我该如何排序这个清单:

['Pera','mela','arancia','UVA']

是这样的:

['arancia','mela','Pera','UVA']

在练习中,它说使用sorted()函数和cmp参数。

4 个答案:

答案 0 :(得分:4)

您需要根据字符串的小写表示对元素进行排序:

sorted(['Pera','mela','arancia','UVA'], key=str.lower)

这将输出:

['arancia', 'mela', 'Pera', 'UVA']

答案 1 :(得分:4)

您可以使用key参数轻松完成此操作:

my_list = ['Pera','mela','arancia','UVA']
my_list.sort(key=str.lower)

这会让你的小写字母首先出现。

这将就地更改对象,my_list将被排序。

如果您想要一个新列表,也可以使用sorted函数和key参数。例如:

my_list = ['Pera','mela','arancia','UVA']
my_sorted_list = sorted(my_list,key=str.lower)

输出将是:

>>> my_list
['Pera','mela','arancia','UVA']
>>> my_sorted_list
['arancia', 'mela', 'Pera', 'UVA']

答案 2 :(得分:1)

这将对您有所帮助:

>>> words = ['Pera','mela','arancia','UVA']
>>> sorted(words)
['Pera', 'UVA', 'arancia', 'mela']
>>> sorted(words, key=str.swapcase)
['arancia', 'mela', 'Pera', 'UVA']

希望这有帮助

答案 3 :(得分:0)

sorted()与密钥一起使用。

>>> mc = ['Pera','mela','arancia','UVA']
>>> sorted(mc, key=str.lower)
['arancia', 'mela', 'Pera', 'UVA']