sort VS sorted

博客聚焦于Python中sort和sorted的对比。在Python编程里,这两个功能都与排序相关,但存在差异。了解它们的不同,能帮助开发者在合适场景做出正确选择,提升代码效率。
在Python中,`sort()` 和 `sorted()` 都是用于对数据进行排序的函数,但它们存在一些关键区别。 ### 区别 - **适用对象**:`sort()` 是应用在列表(list)上的方法,仅适用于列表;而 `sorted()` 是Python内置的全局方法,可以对所有可迭代的对象进行排序操作,如字符串、元组、字典、集合等 [^1][^2]。 - **对原对象的影响**:`sort()` 是对原有列表进行操作,会直接修改原列表;而 `sorted()` 返回的是一个新的可迭代对象,不会改变原来的对象 [^1][^2]。 - **返回值**:`sort()` 没有返回值(返回 `None`),因此无法将排序结果赋给一个变量;而 `sorted()` 会返回一个新的列表,可以将结果赋给一个变量 [^4]。 - **效率**:`sort()` 更快,因为它是原地排序,无需创建新列表;`sorted()` 通常比 `sort()` 稍微慢一些,因其创建了新对象 [^2]。 - **稳定性**:两者都是稳定排序,即保持相同元素的原始顺序 [^2]。 ### 用法 - **sort()**:使用方法为 `list.sort(key=None, reverse=False)`,其中 `key` 是用于指定排序规则的函数,`reverse` 为布尔值,`True` 表示降序,`False` 表示升序(默认) [^2][^3]。 - **sorted()**:使用方法为 `sorted(iterable, key=None, reverse=False)`,参数含义与 `sort()` 相同 [^2]。 ### 示例 ```python # sort() 示例 lst = [3, 1, 4, 1, 5, 9, 2, 6, 5] lst.sort() print("使用 sort() 排序后的列表:", lst) # sorted() 示例 lst = [3, 1, 4, 1, 5, 9, 2, 6, 5] new_lst = sorted(lst) print("原列表:", lst) print("使用 sorted() 排序后的新列表:", new_lst) # 对元组使用 sorted() tup = (3, 1, 4, 1, 5, 9) sorted_tup = sorted(tup) print("原元组:", tup) print("使用 sorted() 排序后的新列表:", sorted_tup) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值