将元组转换为字典中的列表

时间:2017-12-09 17:38:21

标签: 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)

但现在确实有效。我怎样才能实现它?

3 个答案:

答案 0 :(得分:2)

据我了解,您希望转换列表中的每个元组。您可以使用字典理解来完成此操作:

{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]]}

这就是你追求的目标吗?

答案 1 :(得分:0)

在就地:

class MyCallback
{
static void CallbackFunc(void * ptr, MQTTAsync_successData* data)
{
((MyCallback*)ptr)->RealCallback(data);
}
void RealCallback(MQTTAsync_successData*)
{}
};

新对象:

for key, value in a.items():
    for i, t in enumerate(value):
        value[i]= list(t)

答案 2 :(得分:0)

您可以使用" tupleo"文库

来自tupleo import tupleo。

val = tupleo.tupleToList(a [1542])。

打印(VAL) [[4,5,6,7],[4,6,5,7]]

tupleo为您提供元组到列表的完整深度级别转换。 它还具有根据索引将元组转换为dict的功能。