Создать свой словарь python

Варианты создания словаря#

Конструктор dict позволяет создавать словарь несколькими способами.

Если в роли ключей используются строки, можно использовать такой вариант создания словаря:

In [2]: r1 = dict(model='4451', ios='15.4') In [3]: r1 Out[3]: 'model': '4451', 'ios': '15.4'> 

Второй вариант создания словаря с помощью dict:

In [4]: r1 = dict([('model', '4451'), ('ios', '15.4')]) In [5]: r1 Out[5]: 'model': '4451', 'ios': '15.4'> 

dict.fromkeys#

В ситуации, когда надо создать словарь с известными ключами, но пока что пустыми значениями (или одинаковыми значениями), очень удобен метод fromkeys():

In [5]: d_keys = ['hostname', 'location', 'vendor', 'model', 'ios', 'ip'] In [6]: r1 = dict.fromkeys(d_keys) In [7]: r1 Out[7]: 'hostname': None, 'location': None, 'vendor': None, 'model': None, 'ios': None, 'ip': None> 

По умолчанию метод fromkeys подставляет значение None. Но можно указывать и свой вариант значения:

In [8]: router_models = ['ISR2811', 'ISR2911', 'ISR2921', 'ASR9002'] In [9]: models_count = dict.fromkeys(router_models, 0) In [10]: models_count Out[10]: 'ISR2811': 0, 'ISR2911': 0, 'ISR2921': 0, 'ASR9002': 0> 

Этот вариант создания словаря подходит не для всех случаев. Например, при использовании изменяемого типа данных в значении, будет создана ссылка на один и тот же объект:

In [10]: router_models = ['ISR2811', 'ISR2911', 'ISR2921', 'ASR9002'] In [11]: routers = dict.fromkeys(router_models, []) . : In [12]: routers Out[12]: 'ISR2811': [], 'ISR2911': [], 'ISR2921': [], 'ASR9002': []> In [13]: routers['ASR9002'].append('london_r1') In [14]: routers Out[14]: 'ISR2811': ['london_r1'], 'ISR2911': ['london_r1'], 'ISR2921': ['london_r1'], 'ASR9002': ['london_r1']> 

В данном случае каждый ключ ссылается на один и тот же список. Поэтому, при добавлении значения в один из списков обновляются и остальные.

Для такой задачи лучше подходит генератор словаря. Смотри раздел List, dict, set comprehensions

Источник

Как создать и использовать словари в Python

Изучите создание и использование словарей в Python – мощного инструмента для работы с парами ключ-значение.

Python programming and dictionaries.

Словари являются одной из самых мощных и гибких структур данных в Python. Они позволяют хранить и работать с парой ключ-значение. В этой статье мы рассмотрим основы создания и использования словарей в Python.

Создание словарей

Словарь создается с использованием фигурных скобок <> и содержит пары ключ-значение, разделенные двоеточием. Вот пример создания словаря:

🎯 В этом примере у нас есть словарь с тремя ключами: name , age и city , и их соответствующими значениями.

Доступ к значениям в словаре

Для доступа к значению по ключу используется квадратные скобки [] . Например:

name = my_dict["name"] print(name) # Вывод: John

🚀 Если ключ отсутствует в словаре, Python выбросит исключение KeyError . Чтобы избежать этого, можно использовать метод get() , который вернет None или указанное значение по умолчанию, если ключ отсутствует:

name = my_dict.get("name") print(name) # Вывод: John country = my_dict.get("country") print(country) # Вывод: None country = my_dict.get("country", "USA") print(country) # Вывод: USA

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

Чтобы добавить новую пару ключ-значение или изменить существующую, используйте следующий синтаксис:

my_dict[«country»] = «USA» print(my_dict) # Вывод: my_dict[«age»] = 31 print(my_dict) # Вывод:

🌟 В результате добавляется новая пара ключ-значение или обновляется существующая.

Удаление элементов из словаря

Для удаления элемента из словаря используйте оператор del :

del my_dict[«city»] print(my_dict) # Вывод:

🔥 Если указанный ключ отсутствует, Python выбросит исключение KeyError . Чтобы безопасно удалить элемент, используйте метод pop() :

city = my_dict.pop("city", None) print(city) # Вывод: None

В заключении, словари — это мощный инструмент для работы с данными в Python. Они позволяют хранить и обрабатывать пары ключ-значение, что делает их идеальными для различных задач, таких как настройки, конфигурация и т.д.

Не забывайте практиковаться и экспериментировать с различными операциями над словарями, чтобы стать более уверенным в их использовании. Удачи вам в изучении Python!

Источник

Читайте также:  No backend available python usb
Оцените статью