我需要將一個字典(其值在一個串列中)轉換為一個字典串列。
例如,以下字典:
only_dict = {'First': [1, 2], 'Second': [3, 4]}
應該有以下輸出,其中值不再在串列中。
out_lst = [{'First': 1, 'Second': 3}, {'First': 2, 'Second': 4}]
uj5u.com熱心網友回復:
[{"First": v[0], "Second": v[1]} for v in only_dict.values()]
uj5u.com熱心網友回復:
這是任何長度串列的通用版本:
only_dict = {'First': [1,2,3], 'Second': [4,5,6], 'Third': [7,8,9]}
[dict(zip(only_dict, val)) for val in only_dict.values()]
輸出:
[{'First': 1, 'Second': 2, 'Third': 3},
{'First': 4, 'Second': 5, 'Third': 6},
{'First': 7, 'Second': 8, 'Third': 9}]
uj5u.com熱心網友回復:
任何長度串列的簡單版本。首先,獲取最大串列長度:
count = max(*[len(x) for x in only_dict])
一一構造每一個字典:
out_lst = [{k: v[i] for k, v in only_dict.items() if len(v) >= i} for i in range(count)]
uj5u.com熱心網友回復:
一種基于初始字典總長度填充串列的簡單方法。
only_dict = {'First': [1, 2], 'Second': [3, 4]}
out_dict = {index: {} for index in range(len(only_dict.keys()))}
def fill(key, values):
for index, val in enumerate(values):
out_dict[index][key] = val
[fill(key, val) for key, val in only_dict.items()]
out_dict = list(out_dict.values())
print(out_dict)
列印輸出
[{'First': 1, 'Second': 3}, {'First': 2, 'Second': 4}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365726.html
上一篇:裝箱型別等式和字典鍵
下一篇:迭代復雜字典中的所有值
