sort与sorted

sort
list.sort(cmp=None, key=None, reverse=False)
sorted
aaa=sorted(iterable,cmp=None, key=None, reverse=False)
 
>>reverse=False时为正向排序,reverse=True时为反向排序。默认为False。
>>list.sort()方法仅仅被list所定义,sorted()可用于任何一个可迭代对象。
>>list.sort()会改变原来的list,如果不需要原来的list,这种效率稍微高点;sorted()不会改变原来的iterable,而是会返回一个新的排序好的iterable。
 
示例:
a = [3,2,6,7,1]
a.sort()
print a 
b = [3,2,6,7,1]
print sorted(b,reverse=True)
print b
输出:
[1, 2, 3, 6, 7]
[7, 6, 3, 2, 1]
[3, 2, 6, 7, 1]
 
 
多写几行代码,按顺序逐个比较排序,更能体会sort与sorted一键排序的便利。
a = [3,2,6,7,1]
for i in range(0, len(a)): 
    for j in range(0, i): 
       if a[i]<=a[j]: 
          k=a[i]
          a[i]=a[j]
          a[j]=k
           print a       
print a
输出:
[2, 3, 6, 7, 1]
[1, 3, 6, 7, 2]
[1, 2, 6, 7, 3]
[1, 2, 3, 7, 6]
[1, 2, 3, 6, 7]
[1, 2, 3, 6, 7]
 
 

猜你喜欢

转载自www.cnblogs.com/myshuzhimei/p/11751336.html