У меня есть два dict списков, x
и y
. С x
dict, являющимся подчиненным dict, имеющим список значений с индексами 0,1 ..
и y
dict, являющимся главным dict, из которого мне нужно удалить значения (один в x
dict`):
Например:
x = {
'11': {
0: [{'chan_id': '859',
'brod_id': '596'}],
1: [{'brod_id': '434',
'restaurant_id': '343'},
{'chan_id': '545',
'brod_id': '57'}]
}
}
y = {"11":
[{"brod_id": "169", "chan_id": "209"},
{'chan_id': '859', 'brod_id': '596'},
{'chan_id': '545', 'brod_id': '57'}],
"22":
[{"brod_id": "232", "chan_id": "454"},
{'chan_id': '343', 'brod_id': '55'}]
}
Желаемый результат:
filtered_data(x,y,0) # removing only the `0` indices values of `x` dict from `y` dict
print(y)
y = {"11":
[{"brod_id": "169", "chan_id": "209"},
{'chan_id': '545', 'brod_id': '57'}],
"22":
[{"brod_id": "232", "chan_id": "454"},
{'chan_id': '343', 'brod_id': '55'}]
}
Я пробовал:
def filtered_data(x,y, val):
for key,val in x.items():
for k,v in val.items():
for i,elem in enumerate(v):
print(i)
print(elem) # match the values and delete from y?
filtered_data(x,y,0)