Начиная с двух вложенной dictionaries
:Python - функция для увеличения словаря значений
p1 = {'user1': {u'Codex': 1.0, u'High And Dry': 1.0, u'Hey': 1.0, u'O': 1.0, u'Videotape': 1.0, u'Pyramid Song': 1.0}}
и
p2 = {'user1': {u'Codex': 1.0, u'High And Dry': 1.0, u'Hey': 1.0, u'O': 1.0, u'Videotape': 1.0, u'Pyramid Song': 1.0,
u'x': 1.0, u'y': 1.0, u'w': 1.0, u'z': 1.0}}
Я выборка как внешний keys
playlist1 = p1['user1'].keys()
playlist2 = p2['user1'].keys()
Для определения инкрементный function
, целью которого является увеличение счетчиков fo г повторил песни, и держать все остальные без изменений, я писал:
def incremented_playlist(playlist1, playlist2):
playlist3 = {'user1':{}}
for song in playlist2:
if song in playlist1:
playlist3['user1'][song] = 2.0
else:
playlist3['user1'][song] = 1.0
return playlist3
печатается нужный output
для примера:
print incremented_playlist(playlist1, playlist2)
т.е.
{'user1': {u'Pyramid Song': 2.0, u'Videotape': 2.0, u'High And Dry': 2.0, u'Hey': 2.0, u'O': 2.0, u'Codex': 2.0, u'w': 1.0, u'y': 1.0, u'x': 1.0, u'z': 1.0}}
но как построить increment part, где теперь существует только присвоение значения?
Есть built-in
python
class
который делает increment
лучше?
вы хотите суммировать значения для сопоставления словарных значений? – Mark
* инкрементная часть кода * - в вашем коде нет добавочной части, а только конкретное задание. Вы можете уточнить свой вопрос? – RomanPerekhrest
Я хотел бы добавить '+ 1.0' для любых' значений', которые были раньше, для соответствия 'keys' –