Python 将元组转换为字典中的列表
我有一本这样的字典:Python 将元组转换为字典中的列表,python,list,dictionary,tuples,python-3.6,Python,List,Dictionary,Tuples,Python 3.6,我有一本这样的字典: a= {1982: [(1,2,3,4)], 1542: [(4,5,6,7), (4,6,5,7)]} 我想将所有元组(1,2,3,4),(4,5,6,7),(4,6,5,7)更改为列表,在这种情况下:[1,2,3,4],[4,5,6,7],[4,6,5,7] 我试过了 for key, value in a.items(): for i in value: i = tuple(i) 但它现在确实起作用了。如何实现
a= {1982: [(1,2,3,4)],
1542: [(4,5,6,7),
(4,6,5,7)]}
我想将所有元组(1,2,3,4),(4,5,6,7),(4,6,5,7)
更改为列表,在这种情况下:[1,2,3,4],[4,5,6,7],[4,6,5,7]
我试过了
for key, value in a.items():
for i in value:
i = tuple(i)
但它现在确实起作用了。如何实现它?据我所知,您希望转换列表中的每个元组。您可以使用字典理解来执行此操作:
{k: [list(ti) for ti in v] for k, v in a.items()}
将给予
{1542: [[4, 5, 6, 7], [4, 6, 5, 7]], 1982: [[1, 2, 3, 4]]}
这就是你想要的吗?到位:
for key, value in a.items():
for i, t in enumerate(value):
value[i]= list(t)
新对象:
{key: [list(t) for t in value] for key, value in a.items()}
您可以使用“tupleo”库
从tupleo导入tupleo
val=tupleo.tupleToList(a[1542])
打印(val)
[4,5,6,7],[4,6,5,7]]
tupleo为您提供了从元组到列表的完整深度级别转换。
它还具有根据索引将元组转换为dict的功能。我不理解您的预期结果。是否要将每个元组转换为列表?对不起,我已经发布了。谢谢。就是这样。但是为什么我不能用我的方式改变它。。也就是说,为什么i in循环不能改变itself@Zhonghao.KevinXie:很高兴它解决了您的问题,您将不得不重新分配您的值:类似于a.items()中的键、值的
:枚举(值)中的i、ti:value[i]=list(ti)