У меня есть словарь и для конкретного ключа, я могу сказать 5 возможных новых значений. Поэтому я пытаюсь создать 5 копий исходного словаря, используя простую функцию лямбда, которая заменит значение этого конкретного ключа и вернет копию основного словаря.Возвращенные копии словаря, модифицированного
# This is the master dictionary.
d = {'fn' : 'Joseph', 'ln' : 'Randall', 'phone' : '100' }
# Joseph has got 4 other phone numbers
lst = ['200', '300', '400', '500']
# I want 4 copies of the dictionary d with these different phone numbers
# Later I would want to do some processing with those dictionary without affecting d
Так что я пытаюсь сделать это:
# y is the list I want to hold these copies of dictionaries with modified values
i = d.copy()
y = map(lambda x : (i.update({'phone' : x})) and i, lst)
Я думал, что это будет возвращать список словарей и каждый из них будет иметь номер телефона изменен на 200, 300, 400 и 500 соответственно. Я могу поместить цикл и создать копии и изменить их, используя наивный подход, но я хочу исследовать и знать, как я могу использовать лямбда для достижения этого.
Заранее спасибо.
Что еще вы пробовали? – Marcin
@Marcin: «Я хочу изучить и знать, как я могу использовать lambdas, чтобы выполнить это ». – Benjamin