How to sort a dictionary in python

爱喝马黛茶的安东尼
Release: 2019-08-10 15:43:08
Original
3768 people have browsed it

How to sort a dictionary in python

How to sort a dictionary in Python?

Sort the dictionary? This is actually a false proposition. Please understand the definition of Python dictionary---the dictionary itself is output and displayed in the character order of key by default---just like the real dictionary we use, it is arranged in the order of ABCD letters, and essentially each There is no sequence relationship, it is a hash table structure.

But in actual applications, we do have the "requirement" of this kind of sorting -----"sort" the output according to the value of values, or output in other strange order, we only need to convert the dictionary Into a list or tuple, convert each pair of key values ​​in the dictionary into a two-digit list or sub-tuple in the list and then output it, we can achieve our purpose:

For example:

d1 = {'a':1,'c':4,'b':2,'d':3}
d2 = {2:1,3:4,4:2,1:5,5:3}
d3 = {'01': {'name': '电脑', 'price': 3000}, '02': {'name': '鼠标', 'price': 50}, '03': {'name': '洗发水',
'price': 30}, '04': {'name': '微波炉', 'price': 998}, '05': {'name': '手机', 'price': 1500}}
Copy after login

Related Recommended: "Python Video Tutorial"

Requirement 1: Sort the output according to the key/value of the dictionary

Method 1: Use the sorted function

sorted(d1.items(),key = lambda x:x[0],reverse = True)  # reverse = True:是递减顺序输出,不写默认是升序输出
key = lambda x:x[0]表示在d1.items()的输出内容中的第一列作为排序依据,如果是按照value排序则改成x[1]即可。
Copy after login

d1/d2 dictionary is relatively simple and easy to understand. Let’s take a look at how to sort nested dictionaries such as d3:

sorted(d.items(),key=lambda x:x[1]['price'])
Copy after login

Method 2: Use the operator Modeling module

import operator
sorted(d1.items(),key = operator.itemgetter(1))
Copy after login

The current experiments of this module have not been successful for data structures such as d3.

The above is the detailed content of How to sort a dictionary in python. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template