按字母顺序对字符串列表进行排序

Sort list of strings alphabetically

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

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

变成这样:

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

在练习中它说使用带有 cmp 参数的 sorted() 函数。

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

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

这将输出:

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

您可以轻松做到这一点,使用 key 参数:

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

这将首先获取您的小写字符。

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

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

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']

使用 sorted() 键。

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

这将帮助您:

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

希望对您有所帮助