sort和sorted区别

text = [2,3,7,1,19,4]
#是否改变原list
text1 = sorted(text)
text1
Out[5]: [1, 2, 3, 4, 7, 19]
text
Out[6]: [2, 3, 7, 1, 19, 4]
text2 = text.sort()
text2
text
Out[9]: [1, 2, 3, 4, 7, 19]
text2
# 所以,list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
#是否可以用于其他可迭代对象
#sorted(iterable[, cmp[, key[, reverse]]])
#iterable是可迭代对象,cmp在py3中被删除,key主要是用来进行比较的元素,reverse是否反转
text =[('b',2),('a',1),('c',3),('d',4)]
sorted(text, key=lambda s: s[2]) 
Traceback (most recent call last):
  File "E:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-16-7496e39e8250>", line 1, in <module>
    sorted(text, key=lambda s: s[2])
  File "<ipython-input-16-7496e39e8250>", line 1, in <lambda>
    sorted(text, key=lambda s: s[2])
IndexError: tuple index out of range
sorted(text, key=lambda s: s[1]) 
Out[17]: [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
#上述即按照第元组中第二个元素进行排序
sorted(text, key=lambda s: s[1],reverse =True) 
Out[19]: [('d', 4), ('c', 3), ('b', 2), ('a', 1)]
发布了101 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_40539952/article/details/103422879