Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 10, 2010 13:32:40

nikk
От:
Зарегистрирован: 2010-11-09
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавить элемент к значению словаря

Добрый день.
Нужен словарь, в котором бы хранились списки учёных. Что-то вроде: ключ- “Chemics”, значение ; ключ - “Physics”, значение - ; Собственно, возникает 2 вопроса:

1. Как добавить элемент к уже существующему значению? например, чтобы по ключу “Physics” значение стало ? А в идеале - сделать так, чтобы при добавлении, если такой ключ уже есть, то добавлялось в список значений, а если нет - создавался новый ключ.

2. Как потом обратиться к элементу списка-значения? slovar прокатит?

Заранее спасибо.



Офлайн

#2 Ноя. 10, 2010 13:57:17

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавить элемент к значению словаря

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:Конечно.



Отредактировано (Ноя. 10, 2010 13:58:29)

Офлайн

#3 Ноя. 10, 2010 14:07:24

nikk
От:
Зарегистрирован: 2010-11-09
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавить элемент к значению словаря

Спасибо. Я покопался и оказалось всё совсем просто:

slovar["Physics"]+=["Einstein"]
Спокойно прокатывает.



Офлайн

#4 Ноя. 10, 2010 14:20:20

AlexKiriukha
От:
Зарегистрирован: 2008-02-03
Сообщения: 81
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавить элемент к значению словаря

Другой вариант (IMHO более наглядный):

from collections import defaultdict

scientists = defaultdict(list)

scientists['math']
>>> []
scientists['math'].append('Gauss')



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version