【发布时间】:2021-02-06 22:50:58
【问题描述】:
我有两个字典 K 和 L。K 是列表字典,L 是嵌套字典
K={
'k1':[1,3,2],
'k2':[3,4,5],
'k3':[9,10,11]
}
L = {
'l1':{'a':'1','b':'1','c':'2'},
'l2':{'a':'1','b':'3','c':'2'},
'l3':{'a':'1','b':'2','c':'2'},
'l4':{'a':'1','b':'4','c':'2'}
}
我需要什么: 我想根据以下条件创建一个新的列表字典。
- 我需要检查列表的 K 字典中是否存在 b 的 L 值。
- 如果存在,我需要返回带有 K 键的新字典 字典和 L 字典的键。
对于上面的例子,我需要返回这样的东西
M = {'k1':[l1,l3,l2]
'k2':[l2,l4]
}
这是我尝试过的代码:
M= {}
for k, v in K.items():
temp = []
for i in v:
if L[i]['b'] in K[k]:
temp.append(i)
M[k] = temp
print(M)
【问题讨论】:
-
什么是
k1、k2、k3,什么是l1、l2、l3? -
这些是字典的关键
-
所以你应该返回
[1,2,3] as [l1,l2,l3]? -
@Suman 不。我们需要将这些值与 b 值进行比较。然后将 L 对应的键作为新字典中的值返回。
-
@Fusdev,看看我的答案...更简单...试试看...
标签: python python-3.x