我正在寻找一个字典上的方法(或者一个简单的解决方案),它可以返回键,值组合。
dictionary = {'foo': ['bar', 'baz'],
'spam': ['eggs']}我想要的是键值对的组合,这些键值对也可以解压列表。
例:
'foo', 'bar'
'foo', 'baz'
'spam', 'eggs'
tuples = []
for key in dictionary:
for value in dictionary.get(key):
tuples.append((key, value))上面的方法可以工作,但我很好奇是否有一个现有的迭代工具或字典方法可以复制这些循环。
发布于 2018-04-11 07:55:51
>>> dictionary
{'foo': ['bar', 'baz'], 'spam': ['eggs']}
>>> [(k, v) for k, l in dictionary.items() for v in l]
[('foo', 'bar'), ('foo', 'baz'), ('spam', 'eggs')]当然,这也可以作为一个生成器或在任何其他情况下,您需要它。
发布于 2018-04-11 07:56:52
这不是一个内置的功能,但您可以很容易地做到这一点。
mydict = {'foo': ['bar', 'baz'],
'spam': ['eggs']}
for key, value in ((k,v) for (k, vs) in mydict.items() for v in vs):
print(key, value)或者把它们作为一份清单
items = [(k, v) for (k,vs) in mydict.items() for v in vs]发布于 2018-04-11 07:56:44
尝尝这个。
for key in dictionary:
for item in dictionary[key]:
print key, itemhttps://stackoverflow.com/questions/49769437
复制相似问题