【发布时间】:2017-10-12 21:33:17
【问题描述】:
必须转换这个:
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'))]
关闭,但我不能有那些额外的括号。
【问题讨论】:
-
如果您确定格式,只需使用 (k, v[0])
-
注意,
[(k,v) for k,v in d.items()]应该只是list(d.items()),如果评估,它会给我[('k2', 'v2'), ('k3', 'v3'), ('k1', 'v1')]你提供的示例。另请注意,您的错误输出示例[('k1', ('v1')), ('k2', ('v2')), ('k3', ('v3'))]实际上计算为[('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')]。那么,究竟你有什么? -
你确定你的字典不是
{"k1": ("v1",), "k2": ("v2",), "k3": ("v3",)}吗?否则,这些值应该是字符串,而不是元组。
标签: python python-3.x dictionary tuples data-conversion