以下是一个示例代码,演示了如何按列表中的每个第i个元素对字典进行排序:
def sort_dict_by_i_element(dict_list, i):
sorted_dict_list = sorted(dict_list, key=lambda x: x[i])
return sorted_dict_list
# 示例数据
dict_list = [{'name': 'John', 'age': 29, 'score': 85},
{'name': 'Alice', 'age': 25, 'score': 92},
{'name': 'Bob', 'age': 32, 'score': 76}]
# 按列表中的第1个元素(name)排序
sorted_dict_list = sort_dict_by_i_element(dict_list, 0)
print(sorted_dict_list)
# 按列表中的第2个元素(age)排序
sorted_dict_list = sort_dict_by_i_element(dict_list, 1)
print(sorted_dict_list)
# 按列表中的第3个元素(score)排序
sorted_dict_list = sort_dict_by_i_element(dict_list, 2)
print(sorted_dict_list)
输出:
[{'name': 'Alice', 'age': 25, 'score': 92},
{'name': 'Bob', 'age': 32, 'score': 76},
{'name': 'John', 'age': 29, 'score': 85}]
[{'name': 'Alice', 'age': 25, 'score': 92},
{'name': 'John', 'age': 29, 'score': 85},
{'name': 'Bob', 'age': 32, 'score': 76}]
[{'name': 'Bob', 'age': 32, 'score': 76},
{'name': 'John', 'age': 29, 'score': 85},
{'name': 'Alice', 'age': 25, 'score': 92}]
在这个示例中,我们定义了一个名为sort_dict_by_i_element
的函数,该函数接受一个字典列表和一个整数i
作为参数。使用sorted
函数以x[i]
为关键字进行排序,其中x
代表字典列表中的每个字典。最后,返回排序后的字典列表。通过调用sort_dict_by_i_element
函数,并传入字典列表和要排序的元素索引,我们可以得到按该元素进行排序的结果。
上一篇:按列表元素长度筛选