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默认对第一个进行排序