我有一個帶有鍵串列的字典,并且這些值單獨存盤在串列串列中:
obj = {
'keys': ['key1', 'key2', 'key3'],
'items': [['value1', 'value2', 'value3'], ['value4', 'value5', 'value6'], ['value7', 'value8', 'value9']]
}
所需的輸出是將它們“合并”到一個 dict 串列中,如下所示:
[
{'key1': 'value1', 'key2': 'val2', 'key3': 'val3'},
{'key1': 'value4', 'key2': 'val5', 'key3': 'val6'},
{'key1': 'value7', 'key2': 'val8', 'key3': 'val9'}
]
我試過這種直接的方法
result = []
for item in obj['items']:
result.append(dict(zip(obj['keys'], item)))
并將其縮短為這個
[dict(zip(obj['keys'], item)) for item in obj['items']]
是否有其他替代方法來實作所需的輸出?
我可以知道這種“合并”操作的名稱是什么?
uj5u.com熱心網友回復:
[ dict(zip(obj['keys'], item)) for item in obj['items'] ]
您的最后一行包含以下組件的組合:
串列理解,即
[ function(x) for x in list_x ]壓縮 2 個串列,即,
zip(list1, list2)
也許這些是您正在尋找的“合并”操作的名稱?
uj5u.com熱心網友回復:
您可以使用pandas:
import pandas as pd
obj = {
'keys': ['key1', 'key2', 'key3'],
'items': [['value1', 'value2', 'value3'], ['value4', 'value5', 'value6'], ['value7', 'value8', 'value9']]
}
df = pd.DataFrame(obj['items'], columns=obj['keys'])
df.to_dict(orient='records')
結果:
[{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'},
{'key1': 'value4', 'key2': 'value5', 'key3': 'value6'},
{'key1': 'value7', 'key2': 'value8', 'key3': 'value9'}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/334487.html
上一篇:用用戶輸入填充字典時的重復回應
下一篇:如何使用字典中的值遍歷串列
