2018-05-17 对列表、字典进行排序
1.对列表进行排序:
方法一:可以使用列表的sort函数
list00=[2,1,4,2,1,4]
#使用sort()进行排序,sort只能对list进行排序
list11=list00.sort()
print type(list11)
print list00
print list11
输出:
<type 'NoneType'>
[1, 1, 2, 2, 4, 4]
None
结果可知,list00排序后并没有将列表赋值给list11.
方法二:可以使用python内置sorted函数。
list0=[2,1,4,2,1,4]
#使用sorted 进行排序
list1=sorted(list0)
print type(list1)
print list0
print list1
[2, 1, 4, 2, 1, 4]
[1, 1, 2, 2, 4, 4]
区别:直接调用list.sort函数,将原有的list更改,并且不能进行赋值,即没有list1=list0.sort()
sorted仍然可以保留原有的list不改变。
并且list排序之后的数据结构类型依然是list.
2.对字典进行排序
dict ={"A":2,"Q":4,"B":7,"E":9,"C":1}
#对字典进行排序,按照关键字升序。reverse默认为False,表示升序
#排序的对象,后面的是个匿名函数。
dict=sorted(dict.items(),key=lambda abs:abs[0],reverse=False)
print type(dict)
print dict
输出:
[('A', 2), ('B', 7), ('C', 1), ('E', 9), ('Q', 4)]
可以看到在对字典进行排序后,其数据结构的类型已经由原来的字典变成了list.编写代码过程中注意这一点