python - 如何将 `key: list` 对的字典转换为元组列表?

标签 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, "tag2")]

然后将所有这些加入到一个列表中。

最佳答案

你是这个意思吗?

[(key, value) for key, values in l1.items() for value in values]

结果是

[(2, 'tag1'), (2, 'tag2'), (3, 'tag2')]

(你的'tag3'来自哪里?)

关于python - 如何将 `key: list` 对的字典转换为元组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521243/

相关文章:

python - 为什么Python的pathlib和os lib对于Windows中的映射网络驱动器返回不同的结果?

python - 远程连接到 MS SQL - 使用 pyodbc 时出错与使用 SQL Server Management Studio 时成功

python - 需要帮助理解下面的 python 字符串提取

python - 三向真假校验

c - 使用修改的快速排序从数组中选择 k 个最小元素时出现运行时错误

python - Ubuntu Oneiric 上的 scikits.audiolab - ImportError : No module named _sndfile

python - 在 Python 中,从生成器构造循环子群

algorithm - Dijkstra 算法运行时

algorithm - 多维快速排序算法