python list[dict] 根据 dict 中的某个 key 排序
时间: 2023-04-10 14:04:10 浏览: 303
可以使用 Python 的 sorted 函数和 lambda 表达式来实现根据 dict 中的某个 key 排序。例如,假设有一个包含多个字典的列表,每个字典都有一个名为 "age" 的键,可以按照 "age" 键的值对列表进行排序,代码如下:
```
my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]
sorted_list = sorted(my_list, key=lambda x: x['age'])
print(sorted_list)
```
输出结果为:
```
[{'name': 'Charlie', 'age': 20}, {'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}]
```
其中 lambda 表达式 x: x['age'] 表示对于列表中的每个字典 x,按照其 "age" 键的值进行排序。
相关问题
python list[dict] 按dict中某个 key 取出元素组成一个 list
可以使用列表推导式来实现,例如:
```
my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}]
age_list = [d['age'] for d in my_list]
print(age_list) # 输出 [25, 30, 35]
```
这里的 `my_list` 是一个包含多个字典的列表,我们可以使用列表推导式来取出每个字典中的 `age` 值,组成一个新的列表 `age_list`。
python dict中的key 按某个list排序
在Python中,可以通过给字典中的key按照某个list排序来实现。具体实现方式如下:
1. 将字典中的key值提取出来,并建立一个列表temp_list;
2. 使用Python中内置的sorted函数,按照指定的list进行排序;
3. 遍历排序后的列表,将字典中的key值按照排序后的列表重新排列即可。
具体实现代码如下:
```
#声明一个字典
dict = {
"a": 1,
"b": 2,
"c": 3,
"d": 4
}
#指定排序的列表
sort_list = ['d', 'c', 'b', 'a']
#提取出字典中的key列表
temp_list = list(dict.keys())
#按照sort_list中的元素排序temp_list
temp_list = sorted(temp_list,key=lambda x: sort_list.index(x))
#遍历排序后的temp_list,重新排列dict中的key值
new_dict = {}
for key in temp_list:
new_dict[key] = dict[key]
#输出排序后的字典
print(new_dict)
```
运行代码后,会输出按照sort_list排序后的新字典:
```
{'d': 4, 'c': 3, 'b': 2, 'a': 1}
```
这样就实现了对字典中的key值按照指定列表排序的需求。
阅读全文