在Python中,可以使用sorted()
函数和itemgetter()
函数对嵌套哈希进行排序。sorted()
函数用于对可迭代对象进行排序,而itemgetter()
函数用于获取嵌套哈希中的特定项。
下面是一个示例代码,演示如何按照多个条件对嵌套哈希进行排序:
from operator import itemgetter
# 嵌套哈希列表
data = [
{'name': 'John', 'age': 25, 'score': 80},
{'name': 'Alice', 'age': 30, 'score': 90},
{'name': 'Bob', 'age': 20, 'score': 70},
{'name': 'Jane', 'age': 25, 'score': 85},
]
# 按照age和score进行排序
sorted_data = sorted(data, key=itemgetter('age', 'score'))
# 输出排序结果
for item in sorted_data:
print(item)
运行以上代码,会按照年龄(age)和分数(score)的顺序对嵌套哈希进行排序,并打印排序结果。输出结果如下:
{'name': 'Bob', 'age': 20, 'score': 70}
{'name': 'John', 'age': 25, 'score': 80}
{'name': 'Jane', 'age': 25, 'score': 85}
{'name': 'Alice', 'age': 30, 'score': 90}
在示例中,itemgetter('age', 'score')
用作key
参数传递给sorted()
函数,表示按照年龄和分数的顺序进行排序。