我有一個元組串列,我想將它轉換為字典串列,其中對于每個元組,字典鍵是元組中的索引,值是該索引中的元組條目。
例如,如果 tuple_list=[('a','b','c'), ('e','f','g')]那么目標是有processed_tuple_list = [{0:'a',1:'b',2:'c'},{0:'e',1:'f',2:'g'}]
我目前的解決方案是有一個功能
def tuple2dict(tup):
x = {}
for j in range(len(tup)):
x[j]=tup[j]
return x
然后呼叫[tuple2dict(x) for x in tuple_list]. 我懷疑有一種串列理解方式可以做到這一點,我最初嘗試這樣做
[{j:x[j]} for x in tuple_list for j in range(len(x))]
但這只是給了我一個串列[{0:'a'},{1:'b'},...]。任何關于更pythonic方法的建議將不勝感激。
uj5u.com熱心網友回復:
您可以dict為每個元組創建list如下所示:
>>> tuple_list=[('a','b','c'), ('e','f','g')]
# Expanded solution for more explanation
>>> [{idx: val for idx, val in enumerate(tpl)} for tpl in tuple_list]
[{0: 'a', 1: 'b', 2: 'c'}, {0: 'e', 1: 'f', 2: 'g'}]
感謝@ddejohn 最短方法:
>>> [dict(enumerate(t)) for t in tuple_list]
uj5u.com熱心網友回復:
你可以使用 zip
[dict(zip(range(len(tp)),tp))) for tp in tuple_list]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/351064.html
上一篇:如何訪問R中的串列元素?
