python sort和sorted的区别

sort()是列表方法,对原列表进行原地排序,不返回新列表;sorted()是内置函数,适用于任何可迭代对象,返回排序后的新列表。sort()改变原列表,无返回值,sorted()保持原列表不变,返回新列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sort() 和 sorted() 都是 Python 中用于排序的函数,它们的主要区别如下:

  1. sort() 是列表对象的方法,直接对列表进行排序,不会返回一个新的列表;而 sorted() 是 Python 内置的函数,能够对任何可迭代对象进行排序,并返回一个新的列表。

  2. sort() 会改变原来列表的顺序,因此它是原地排序;而 sorted() 不会改变原来列表的顺序,因此它是原地排序。

  3. sort() 没有返回值,因此无法将排序结果赋给一个变量;而 sorted() 会返回一个新的列表,可以将结果赋给一个变量。

# sort() 的使用示例
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
lst.sort()
print(lst)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]

# sorted() 的使用示例
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
new_lst = sorted(lst)
print(new_lst)  # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
print(lst)  # 输出:[3, 1, 4, 1, 5, 9, 2, 6, 5]

在上面的代码中,sort() 方法直接对列表 lst 进行排序,不会返回一个新的列表,因此最终输出的结果是 [1, 1, 2, 3, 4, 5, 5, 6, 9],而 lst 列表的顺序也被改变成了排序后的顺序。

sorted() 函数对列表 lst 进行排序,并返回一个新的列表,因此最终输出的结果是 [1, 1, 2, 3, 4, 5, 5, 6, 9],而 lst 列表的顺序并没有改变。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值