my_dict = {'index':[1,2,3], 'answer':['A','D','B']}
我想將其轉換my_dict為以下串列
[{'index': 1,'answer': 'A'}, {'index':2, 'answer': 'D'}, {'index': 3, 'answer': 'B'}]
我有解決方案,但它取決于pandas庫,但我正在尋找一種沒有任何依賴關系的方法
pandas 解決方案:
import pandas as pd
output = list(pd.DataFrame(my_dict).T.to_dict().values())
output
[{'index': 1, 'answer': 'A'},
{'index': 2, 'answer': 'D'},
{'index': 3, 'answer': 'B'}]
uj5u.com熱心網友回復:
我更喜歡:
[{'index': x, 'answer': y} for x, y in zip(*my_dict.values())]
或者,如果您關心訂單:
[{k: ip[i] for i, k in enumerate(my_dict)} for ip in zip(*my_dict.values())]
輸出:
[{'index': 1, 'answer': 'A'}, {'index': 2, 'answer': 'D'}, {'index': 3, 'answer': 'B'}]
或者正如@Jab 提到的,你可以使用:
[dict(zip(my_dict, ip)) for ip in zip(*my_dict.values())]
直接拉鏈。
uj5u.com熱心網友回復:
對于這個例子,這應該這樣做。如果您想要更一般的東西,請告訴我。
[
{'index': index, 'answer': answer}
for index, answer in zip(my_dict['index'], my_dict['answer'])
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347796.html
上一篇:格式化要在字典中擬合的陣列的值
