为什么在Python中list.sort()不会返回已排序的列表?

为什么在python中list.sort()不会返回已排序的列表?

示例

在这个例子中,我们先看看 list.sort() 的用法,然后再继续。在这里,我们创建了一个列表并使用 sort() 方法按升序排序 –

# Creating a ListmyList = ["Jacob", "Harry", "Mark", "Anthony"]# Displaying the Listprint("List = ",myList)# Sort the Lists in Ascending OrdermyList.sort()# Display the sorted Listprint("Sort (Ascending Order) = ",myList)

输出

List =  ['Jacob', 'Harry', 'Mark', 'Anthony']Sort (Ascending Order) =  ['Anthony', 'Harry', 'Jacob', 'Mark']

在性能更重要的情况下,仅仅为了排序而复制列表不会被认为是好的,而且是浪费。因此,list.sort() 对列表进行就地排序。此方法不返回排序列表。这样,当您需要排序的副本但还需要保留未排序的版本时,您就不会被欺骗而意外覆盖列表。

使用内置的sorted()函数返回一个新列表。此函数根据提供的可迭代对象创建一个新列表,对其进行排序并返回它。

使用sorted()根据值对字典列表进行排序

示例

我们现在已经使用sorted()方法对字典列表进行排序。

立即学习“Python免费学习笔记(深入)”;

# List of dictionariesd = [   {"name" : "Sam", "marks" : 98},   {"name" : "Tom", "marks" : 93},   {"name" : "Jacob", "marks" : 97}]# Display the Dictionaryprint("Dictionary = n",d)# Sorting using values with the lambda functionprint("Sorted = n",sorted(d, key = lambda item: item['marks']))

输出

('Dictionary = n', [{'name': 'Sam', 'marks': 98}, {'name': 'Tom', 'marks': 93}, {'name': 'Jacob', 'marks': 97}])('Sorted = n', [{'name': 'Tom', 'marks': 93}, {'name': 'Jacob', 'marks': 97}, {'name': 'Sam', 'marks': 98}])

以上就是为什么在Python中list.sort()不会返回已排序的列表?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1342897.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 05:59:07
下一篇 2025年12月13日 05:59:19

相关推荐

发表回复

登录后才能评论
关注微信