[英]Python sort dictionary by a list of key values
我有一個值列表,它是排序順序:
order = ['foo', 'bar']
data = [{'name': 'bar', 'someData': 'someValue'}, {'name': 'foo', 'someData': 'someValue'}]
我想根據順序對數據(按“名稱”排序)
您可以像這樣去:
sorted(data, key = lambda x: order.index(x["name"]))
我將提前創建一個訂單映射以使關鍵功能更快:
def create_key(order, field='name'):
order_map={v: i for (i, v) in enumerate(order)}
def key(elem):
return order_map[elem[field]]
return key
data.sort(key=create_key(order))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.