Форум сайта python.su
Добрый день.
Есть список
'lst = [['Ваня', 'мороженое', 2], ['Петя', 'ручка', 5], ['Ваня', 'карандаш', 3], ['Ваня', 'мороженое', 1], ['Петя', 'конверт', 20], ['Ваня', 'конверт', 5]]'
for i in lst: dic[i[0]] = dic.get(i[0],{i[1]:i[2]})
Отредактировано FishHook (Фев. 13, 2017 09:00:22)
Офлайн
lst = [['Ваня', 'мороженое', 2], ['Петя', 'ручка', 5], ['Ваня', 'карандаш', 3], ['Ваня', 'мороженое', 1], ['Петя', 'конверт', 20], ['Ваня', 'конверт', 5]] dct = {} for name, thing, count in lst: dct.setdefault(name, {})[thing] = count print(dct)
Офлайн
FishHookСпасибо, но мороженного у Вани должно стать 3.
Отредактировано mick_g (Фев. 13, 2017 09:19:25)
Офлайн
mick_gНу можно же было догадаться из примера
Спасибо, но мороженного у Вани должно стать 3.
lst = [['Ваня', 'мороженое', 2], ['Петя', 'ручка', 5], ['Ваня', 'карандаш', 3], ['Ваня', 'мороженое', 1], ['Петя', 'конверт', 20], ['Ваня', 'конверт', 5]] dct = {} for name, thing, count in lst: dct.setdefault(name, {}).setdefault(thing, 0) dct[name][thing] += count print(dct)
Офлайн
FishHook
mick_g
Спасибо, но мороженного у Вани должно стать 3.
Ну можно же было догадаться из примера
lst = [, , , , , ]
dct = {}
for name, thing, count in lst:
dct.setdefault(name, {}).setdefault(thing, 0)
dct += count
print(dct)
Офлайн
mick_gВы собираетесь с помощью get устанавливать значение? Не понимаю.
А с помощью get метода можно?
Офлайн
FishHook
mick_g
А с помощью get метода можно?
Вы собираетесь с помощью get устанавливать значение? Не понимаю.
Отредактировано mick_g (Фев. 13, 2017 11:02:29)
Офлайн
mick_gИ не будет. С помощью гета значения получают, само слово об этом говорит, а не устанавливают.
но не работает.
Офлайн
FishHook
И не будет. С помощью гета значения получают, само слово об этом говорит, а не устанавливают.
Отредактировано mick_g (Фев. 13, 2017 11:15:43)
Офлайн
mick_g
С помощью get вы можете получить значение. Записать это значение с помощью get вы не сможете, вам надо будет использовать какой-либо из способов установить значение словаря: update, setdefault, __setitem__ или
dct[a] = b
Отредактировано FishHook (Фев. 13, 2017 11:19:11)
Офлайн