5

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

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

变成这样:

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

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

4

4 回答 4

4

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

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

这将输出:

['arancia', 'mela', 'Pera', 'UVA']
于 2016-06-16T11:23:12.130 回答
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']
于 2016-06-16T11:23:35.913 回答
1

sorted()与钥匙一起 使用。

>>> mc = ['Pera','mela','arancia','UVA']
>>> sorted(mc, key=str.lower)
['arancia', 'mela', 'Pera', 'UVA']
于 2016-06-16T11:30:11.243 回答
1

这将帮助您:

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

希望这可以帮助

于 2016-06-16T11:35:05.353 回答