nikk
Ноя. 10, 2010 13:32:40
Добрый день.
Нужен словарь, в котором бы хранились списки учёных. Что-то вроде: ключ- “Chemics”, значение ; ключ - “Physics”, значение - ; Собственно, возникает 2 вопроса:
1. Как добавить элемент к уже существующему значению? например, чтобы по ключу “Physics” значение стало ? А в идеале - сделать так, чтобы при добавлении, если такой ключ уже есть, то добавлялось в список значений, а если нет - создавался новый ключ.
2. Как потом обратиться к элементу списка-значения? slovar прокатит?
Заранее спасибо.
pill
Ноя. 10, 2010 13:57:17
1:
>>> d1 = {}
>>> d1.setdefault('Physics', []).append('Newton')
>>> d1
{'Physics': ['Newton']}
>>> d1.setdefault('Physics', []).append('Einshtein')
>>> d1
{'Physics': ['Newton', 'Einshtein']}
>>>
Python cookbook
Section 1.6. Associating Multiple Values with Each Key in a Dictionary
Там подробно расписано.
2:Конечно.
nikk
Ноя. 10, 2010 14:07:24
Спасибо. Я покопался и оказалось всё совсем просто:
slovar["Physics"]+=["Einstein"]
Спокойно прокатывает.
AlexKiriukha
Ноя. 10, 2010 14:20:20
Другой вариант (IMHO более наглядный):
from collections import defaultdict
scientists = defaultdict(list)
scientists['math']
>>> []
scientists['math'].append('Gauss')