假设你有一个列表字典:
>>> a = {"a":[1, 3, 10, 2, 5], "b":[1, 0, 0, 1, 14]}
>>> a
{'a': [1, 3, 10, 2, 5], 'b': [1, 0, 0, 1, 14]}
从这个字典中,我想创建另一个列表,其中每个元素都是一个(key,id)元组,如下所示:
>>> pairs = []
>>> for k,v in a.items():
... for id in v:
... pairs += [(k,id)]
...
>>> print(pairs)
[('a', 1), ('a', 3), ('a', 10), ('a', 2), ('a', 5), ('b', 1), ('b', 0), ('b', 0), ('b', 1), ('b', 14)]
有没有捷径可以做到这一点?之前创建对的代码过于冗长。
最佳答案
您可以使用双重列表理解,这样 然而为了易读性:
pairs = [(k, val) for k, l in a.items() for val in l]
关于python - 从字典键和值中获取元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34207062/