将l1
转换为l2
的最佳方法是什么?
l1 = {1: [],
2: ["tag1", "tag2"],
3: ["tag2"])
l2 = [(2, "tag1"),
(2, "tag2"),
(3, "tag2")]
我们正在尝试查找所有键值组合,但忽略空组合。
例如
1: []
->没什么(因为没有配对)
2: ["tag1", "tag2"]
-> [(2, "tag1"), (2, "tag2")
]
3: ["tag2"]
-> [(3, "tag2")]
然后将其全部合并到一个列表中。
答案 0 :(得分:4)
你是那个意思吗?
[(key, value) for key, values in l1.items() for value in values]
导致
[(2, 'tag1'), (2, 'tag2'), (3, 'tag2')]
(您的'tag3'
来自哪里?)
答案 1 :(得分:0)
这应该可以完成工作;
l1 = {1: [],
2: ["tag1", "tag2"],
3: ["tag2"])
l2 = []
for key, values in l1.items():
new_values = []
for value in values:
new_values.append(value)
l2.append(tuple(new_values))
>>> l2
[(2, "tag1"), (2, "tag2"), (3, "tag2")]