Python 如何将'key:list'对的dict转换为元组列表?
将Python 如何将'key:list'对的dict转换为元组列表?,python,algorithm,Python,Algorithm,将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,“t
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”)]
然后将所有内容合并到一个列表中。你的意思是
[(key, value) for key, values in l1.items() for value in values]
这导致
[(2, 'tag1'), (2, 'tag2'), (3, 'tag2')]
(你的'tag3'
来自哪里?你是说这个吗
[(key, value) for key, values in l1.items() for value in values]
这导致
[(2, 'tag1'), (2, 'tag2'), (3, 'tag2')]
(你的
'tag3'
来自哪里?这应该可以完成工作
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")]
这应该可以完成任务
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")]
请解释一下
l1
如何变成l2
,因为我真的没有最模糊的想法…@Aran Fey更新了这个问题。请解释一下l1
如何变成l2
,因为我真的没有最模糊的想法…@Aran Fey更新了这个问题。道歉,修正了这个问题,是的,但是有没有更快的方法使用itertools等?为什么(以及如何)使用itertools<代码>命令项也是懒惰的;内存方面没有任何好处。抱歉,修复了问题,是的,但是有没有更快的方法使用itertools等?为什么(以及如何)使用itertools<代码>命令项也是懒惰的;记忆方面,没有什么可以获得的。