Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将元组转换为字典中的列表_Python_List_Dictionary_Tuples_Python 3.6 - Fatal编程技术网

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)