【发布时间】:2019-07-05 12:54:39
【问题描述】:
我主要关心的是更 Python 化地执行此操作。下面的代码有效,但看起来很笨重。
我有一个字典,其中的键映射到列表。我想遍历字典并查看每个键是否在值列表中,如果是,则将其附加到与该键值关联的新列表中。我将在下面发布一个示例以进行说明。
为了简化问题,假设我有一个这样的字典:
my_dict = {1: [3], 2: [4,5,6], 3: [1,2], 4: [5,6], 5: [4,6], 6: [4,5]}
在 my_dict 中,键 1 存在于键 3 的值列表中,因此我们将创建一个带有 key = 1 和 value = list(3) 的新字典
同样,键 6 存在于键 2、4 和 5 的值列表中。我们将在字典中创建一个新的key =6 和value = list(2,4,5)。
这将是我们的 dict 的最终输出:
output_dict = {1: [3], 2: [3], 3: [1], 4: [2,5,6], 5: [2, 4, 6], 6: [2,4,5]}
到目前为止我的代码:
new_dict = {}
for k, v in my_dict.items():
new_dict[k] = []
for k , v in my_dict.items():
for k2 in new_dict.keys():
if k2 in v:
new_dict[k2].append(k)
非常感谢任何指针。感谢您的时间。
【问题讨论】:
标签: python list dictionary