在我们对原数据进行更改后,可以另外生成一个新的表格,这样原有表格和数据都能得以保存,以后要是进行留着对比也比较方便。最近小编在用列表排序,但是使用常见的sort函数就会影响原本的列表。经过一番查阅,最终用sorted解决了这个问题。下面我们就一起看看sorted是如何在python列表排序的吧。
sorted 函数可以对序列进行排序
sorted(iterable, *, key=None, reverse=False)
sorted 不同于 list.sort 操作(原地排序),返回一个新的有序序列,原序列保持不变。* 表示仅限关键字参数(keyword-only),也就是说,key、reverse 参数只能通过关键字传参,而不能通过位置传参。reverve 参数表示逆置操作,key 与之前 len 中的 key 参数类似,是函数排序的依据。
>>> sorted([9, 6, 2, 3, 6]) [2, 3, 6, 6, 9]
拓展:sort
使用 list.sort() 会将 list 进行升序排序,返回 NoneType ,影响 list 本身,如
In [8]: li=[1,5,3,2] In [9]: li.sort() In [10]: li Out[10]: [1, 2, 3, 5] In [11]: type(li.sort()) Out[11]: NoneType
通过本篇的学习我们可以知道,使用sorted后原列表示不会发生变化的,这对于一些有需要的小伙伴来说无疑是非常好的消息。感兴趣的快动手尝试下,是不是这么神奇的吧。