Я работаю над кодом Python для удаления определенных элементов в словаре списков.
dict ={'s': ['a','b'],'d': ['c','d'],'g': ['e','f']}
values = ['a','c','f']
list2 ={i:j.remove(value) for i,j in dict.items() for k in j for value in values if value in k}
print(list2)
Ниже работает код, дающий ожидаемый результат.Я сталкиваюсь с проблемой понимания (вышеупомянутый код)
for i,j in dict.items():
for k in j:
for value in values:
if value in k:
j.remove(value)
Я не уверен, почему понимание не работает.Пожалуйста, помогите мне с эффективным способом решения этого
Фактический результат:
{'s': None, 'd': None, 'g': None}
Ожидаемый результат:
{'s': ['b'], 'd': ['d'], 'g': ['e']}