假设 有字典tmp={1:4,2:3}
需要知道的
tmp.keys()
返回的是词典的keyde 迭代对象,注意不是list 其返回的是一个dict_keys object
>>> tmp={1:4,2:3}
>>> tmp.keys()
dict_keys([1, 2])
>>> l=tmp.keys()
>>> l[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing
>>> for key in l:
... print(key)
...
1
2
>>>
tmp.items()
返回的是元组(key,value)的迭代对象(dict_items’ object) ,其中每个元组是和字典的元素一一对应的,注意不是list
>>> tmp={1:4,2:3}
>>> tmp.items()
dict_items([(1, 4), (2, 3)])
>>> l=tmp.items()
>>> l[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_items' object does not support indexing
>>> for item in l:
... print(item)
...
(1, 4)
(2, 3)
>>>
sorted
1.sorted函数按key值对字典排序
sorted(iterable,key,reverse)
参数。
iterable:表示可以迭代的对象,例如可以是dict.items()、dict.keys()等
key:是一个函数,用来选取参与比较的元素
reverse:则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小), reverse=false 时则是顺序(从小到大),默认时reverse=false。
sorted函对字典进行排序
按照key 进行排序
注意 里面包括保留value 和 不保留 value的区别 还有排序的模式
>>> tmp={1:4,2:3}
>>> tem_sort=sorted(tmp.keys())
>>> tem_sort
[1, 2]
>>> tem_sort=sorted(tmp.items(),key=lambda item:item[0])
>>> tem_sort
[(1, 4), (2, 3)]
>>> tem_sort=sorted(tmp.items(),key=lambda item:item[0],reverse=True)
>>> tem_sort
[(2, 3), (1, 4)]
按照 进行排序
要注意 lambda item:item[1]
>>> tmp={1:4,2:3}
>>> tem_sort=sorted(tmp.items(),key=lambda item:item[1],reverse=True)
>>> tem_sort
[(1, 4), (2, 3)]
>>> tem_sort=sorted(tmp.items(),key=lambda item:item[1])
>>> tem_sort
[(2, 3), (1, 4)]