python - 从具有列表作为值的字典创建元组对

标签 python dictionary

我正在尝试从具有列表作为值的字典中获取元组对的列表。

d={ 'a': [1,2], 'b': [4,5], 'c': [7,8] }
print(d.items())
>>[('a', [1, 2]), ('b', [4, 5]),('c', [7, 8]) ]

如何获取此表单的列表

[('a', 1),('a', 2), ('b',4),('b',5),('c',7),('c',8)]

最佳答案

使用简单的列表理解:

d = {'a': [1,2,3], 'b': [4,5,6]}
l = [(k, v) for k in d for v in d[k]]
print(l)  # => [('a', 1), ('a', 2), ('a', 3), ('b', 4), ('b', 5), ('b', 6)]

可能还有其他方法可以做到这一点,但这很简单,并且不需要其他库。

关于python - 从具有列表作为值的字典创建元组对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835992/

相关文章:

python - Django - 如果单击按钮,如何执行 if 语句

python - 计算大矩阵特征值的最快方法

javascript - 使用 dc.js 根据存储在字典中的已处理数据创建条形图

Java - 当两个键映射到相同的值时返回什么?

python - 内联函数的字典理解

python - Pandas:使用另一个表的 “dummy variable” 创建一个表

python - 使用通过堆栈实现的迭代 DFS 时如何回溯

ios - 获取简短的 Google map URL 以在 iOS 中共享

python - 字典通过更新合并,但如果值存在则不覆盖

python - super(type(self), self) 的快捷方式