Python:将键值元组列表转换为字典?
我有一个像这样的列表
[(A, 1), (B, 2), (C, 3)]
并想把它变成一个字典,看起来像
(A: 1, B: 2, C: 3)
最好的办法是什么呢? 谢谢。
编辑:它实际上更像
[(A, 12937012397), (BERA, 2034927830), (CE, 2349057340)]
这给了我同样的错误,试图拆分列表和压缩。 ValueError:字典更新顺序元素#0的长度为1916; 2是必需的
这是你真正的问题。
答案是你列表中的元素不是你所想的那样。 如果你键入myList[0]
你会发现你的列表的第一个元素不是一个二元组,例如('A', 1)
,而是一个长度为1916的可迭代元素。
一旦你真的有一个在你原来的问题( myList = [('A',1),('B',2),...]
)中表示的forms的列表,所有你需要做的是dict(myList)
。
>>> dict([('A', 1), ('B', 2), ('C', 3)]) {'A': 1, 'C': 3, 'B': 2}
你尝试过吗?
>>> l=[('A',1), ('B',2), ('C',3)] >>> d=dict(l) >>> d {'A': 1, 'C': 3, 'B': 2}