python_字典排序

按照不同要求给字典排序

>>> d={"user3":"a","user1":"b","user2":"c"}
>>> d.items()
dict_items([('user3', 'a'), ('user1', 'b'), ('user2', 'c')])
#按字典键升序排序
>>> sorted(d.items(),key=lambda x:x[0],reverse=False)
[('user1', 'b'), ('user2', 'c'), ('user3', 'a')]
#按字典键降序排序
>>> sorted(d.items(),key=lambda x:x[0],reverse=True)
[('user3', 'a'), ('user2', 'c'), ('user1', 'b')]
#按字典值升序排序
>>> sorted(d.items(),key=lambda x:x[1],reverse=False)
[('user3', 'a'), ('user1', 'b'), ('user2', 'c')]
#按字典值降序排序
>>> sorted(d.items(),key=lambda x:x[1],reverse=True)
[('user2', 'c'), ('user1', 'b'), ('user3', 'a')]
>>>
>>> sorted(d)
['user1', 'user2', 'user3']
>>> sorted(d.values())
['a', 'b', 'c']

还原为字典类型

>>> d
{'user3': 'a', 'user1': 'b', 'user2': 'c'}
>>>
>>> sorted(d.items(),key=lambda x:x[0],reverse=False)
[('user1', 'b'), ('user2', 'c'), ('user3', 'a')]
>>> keys_sort=sorted(d.items(),key=lambda x:x[0],reverse=False)
>>> keys_sort
[('user1', 'b'), ('user2', 'c'), ('user3', 'a')]
>>> d_new={}
>>> for tup in keys_sort:
...     d_new[tup[0]]=tup[1]
...
>>> d_new
{'user1': 'b', 'user2': 'c', 'user3': 'a'}
>>> d
{'user3': 'a', 'user1': 'b', 'user2': 'c'}
发布了46 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Folivoraxue/article/details/104180168
今日推荐