必须转换:
d = {"k1": ("v1"), "k2": ("v2"), "k3": ("v3")}
到此:
[('k1, v1'), ('k2, v2'), ('k2, v3')]
我试过了:
[(k, v) for k, v in d.items()]
但得到了这个:
[('k1', ('v1')), ('k2', ('v2')), ('k3', ('v3'))]
关闭,但我不能有那些额外的括号。
答案 0 :(得分:1)
你可以试试这个:
d = {"k1": ("v1"), "k2": ("v2"), "k3": ("v3")}
new_data = list(d.items())
输出:
[('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')]
答案 1 :(得分:0)
你走了:
>>> d = {"k1": ("v1"), "k2": ("v2"), "k3": ("v3")}
>>> [(a,d[a]) for a in d]
[('k3', 'v3'), ('k2', 'v2'), ('k1', 'v1')]
答案 2 :(得分:0)
d = {"k1": ("v1"), "k2": ("v2"), "k3": ("v3")}
print [(k, v) for k, v in d.items()]
已经退货
[('k3', 'v3'), ('k2', 'v2'), ('k1', 'v1')]
(与实际执行的list(d.items())
相同)
现在,如果您的字典实际上是
d = {"k1": ("v1",), "k2": ("v2",), "k3": ("v3",)}
然后这将解释你的输出。在这种情况下,您需要执行
print [(k, v[0]) for k, v in d.items()]
答案 3 :(得分:0)
只需将字符串从列表推导中的元组中索引,即
[(k, v[0]) for k, v in d.items()]
这给出了
[('k3', 'v'), ('k2', 'v'), ('k1', 'v')]