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