Создание нового словаря в Python
Я хочу создать словарь в Python. Однако все примеры, которые я вижу, показывают, как инициализировать словарь из списка и т.д.
Как мне создать новый пустой словарь в Python?
5 ответ(ов)
Вопрос: Как создать новый словарь в Python?
Ответ: Вы можете создать новый словарь, вызвав функцию dict
без параметров:
new_dict = dict()
Либо вы можете сделать это более кратко, используя фигурные скобки:
new_dict = {}
Оба варианта создают пустой словарь, так что вы можете использовать тот, который вам больше нравится.
Вы можете сделать это следующим образом:
x = {}
x['a'] = 1
Этот код создает пустой словарь x
, а затем добавляет в него элемент с ключом 'a'
и значением 1
.
Чтобы создать предустановленный словарь для перевода кодов стран, вы можете использовать следующий пример:
cmap = {'US':'США','GB':'Великобритания'}
# Явное определение функции:
# ---------------------------
def cxlate(country):
try:
ret = cmap[country]
except KeyError:
ret = '?'
return ret
present = 'US' # этот код есть в словаре
missing = 'RU' # этого кода нет
print(cxlate(present)) # == США
print(cxlate(missing)) # == ?
# Или, что гораздо проще, как предложено ниже:
print(cmap.get(present, '?')) # == США
print(cmap.get(missing, '?')) # == ?
# Если вы хотите, чтобы в случае отсутствия кода возвращался сам код страны:
print(cmap.get(present, present)) # == США
print(cmap.get(missing, missing)) # == RU
В этом примере мы сначала создаем словарь cmap
, в котором хранятся соответствия между кодами стран и их полными названиями. Затем определяем функцию cxlate
, которая пытается найти перевод для заданного кода страны. Если код отсутствует, функция возвращает ?
.
Кроме того, используя метод .get()
, вы можете упростить код, предоставляя возможность установить значение по умолчанию, если ключ отсутствует. Таким образом, вы можете не только возвращать символ, указывающий на отсутствие значения, но и оригинальный код страны, когда это необходимо.
В вашем примере вы создаете словарь в Python с помощью функции dict()
, передавая ему пары ключ-значение. Вот как это выглядит:
>>> dict(a=2, b=4)
{'a': 2, 'b': 4}
Этот код создает словарь, в котором ключом 'a'
соответствует значение 2
, а ключом 'b'
— значение 4
.
Однако, если вы хотите сложить значения в словаре, вы можете сделать это следующим образом:
d = dict(a=2, b=4)
total = d['a'] + d['b']
print(total) # Вывод: 6
В этом случае значение по ключу 'a'
добавляется к значению по ключу 'b'
, и результат сохраняется в переменной total
. Если у вас есть другие вопросы по работе со словарями в Python, не стесняйтесь спрашивать!
На русском языке, стиль ответа на вопрос на StackOverflow может выглядеть так:
Для создания пустого словаря в Python можно использовать несколько способов:
- Наиболее распространенный и простой способ — воспользоваться встроенной функцией
dict()
:
d = dict()
- Также можно создать пустой словарь с помощью литерала словаря:
d = {}
- Если вы хотите использовать менее распространенный способ, можно воспользоваться модулем
types
для создания объекта типа словаря:
import types
d = types.DictType.__new__(types.DictType, (), {})
Однако, данный метод не рекомендуется для повседневного использования, так как первые два способа более читаемы и понятны. Рекомендуется использовать один из первых двух способов для создания пустого словаря.
Преобразование списка словарей в DataFrame pandas
Почему использовать dict.get(key) вместо dict[key]?
Как преобразовать вложенный словарь Python в объект?
Ошибка: "'dict' объект не имеет метода 'iteritems'"
Есть ли питоний способ объединить два словаря (сложив значения для ключей, которые присутствуют в обоих)?