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

新手上路,请多包涵

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

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

像这样:

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

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

原文由 Doni 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 449
2 个回答

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

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

这将输出:

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

原文由 kardaj 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用 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']

原文由 Avihoo Mamka 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题