我有这样的字典:
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)
但现在确实有效。我怎样才能实现它?
答案 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的功能。