我如何使用预定的字符串列表对词典列表进行排序
字符串的有序列表
["Apple", "Watermellon", "Orange", "Grape"]
收集字典数据
{
"Grape": {"value": 3},
"Watermellon": {"value": 5},
"Orange": {"value": 8},
"Apple": {"value": 1}
}
期望的字典顺序...假设我必须将其转换为某种形式的列表以保持顺序。
{
"Apple": {"value": 1},
"Watermellon": {"value": 5},
"Orange": {"value": 8},
"Grape": {"value": 3},
}
最佳答案
如果您不想依赖字典和python版本的插入顺序,则可以将其转换为排序列表,例如:
order = ["Apple", "Watermellon", "Orange", "Grape"]
data = {
"Grape": {"value": 3},
"Watermellon": {"value": 5},
"Orange": {"value": 8},
"Apple": {"value": 1}
}
ordered_data = sorted(data.items(), key=lambda item: order.index(item[0]))
print(ordered_data)
>>> [('Apple', {'value': 1}), ('Watermellon', {'value': 5}), ('Orange', {'value': 8}), ('Grape', {'value': 3})]
关于python - 按字符串列表对字典列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60456212/