sort与sorted

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。

1.list.sort()方法仅被定义在list中,相反地sorted()方法对所有的可迭代序列都有效。

2.使用方式:  使用sort只能list.sort(),不能sort(list)

        使用sorted只能sorted(iteritems),不能iteritems.sorted

>>> sorted({'d': 1, 'a': 3,'b': 2})                默认对key排序
['a', 'b', 'd']
>>> sorted({1:'q',3:'c',2:'g'}.keys())       
[1, 2, 3]
>>> sorted({1:'q',3:'c',2:'g'}.values()) 
['c', 'g', 'q']

3.sort要改变原来的list

 sorted返回一个新顺序的iteritems,但不会改变原来的iteritems

  

>>> a = [2,1,5]
>>> b = a.sort()    会发现这一步并没有对b进行赋值,在a排完序后在用b = a去赋值才成功
>>> print a
>>> [1,2,5]
>>> print b
>>> None
>>> b = a
>>> print b
>>> [1,2,5]



>>> a = [2,1,5]
>>> b = sorted(a)
>>> b
>>> [1,2,5]
>>> a 
>>> [1,2,5]

4.

>>> sorted([(2,1),(1,2),(3,4)])
[(1, 2), (2, 1), (3, 4)]                sorted默认对第一个进行排序
原文地址:https://www.cnblogs.com/ymjyqsx/p/6411782.html