Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Словари в Python

Словари в Python

Словарь является ассоциативным массивом или таблицей хешей, содержащий объекты, индексированные ключами. Чтобы создать словарь, последовательность элементов необходима заключить в фигурные скобки ({}), как показано в примере ниже.

Для получения значения словаря, его содержимое вызывается с помощью ключа. Ключ должен быть уникальным по отношению к другим, если ключ в словаре дублируется, то значение ключа будет тот кто ближе к концу словаря.

person = {
    'name': 'Ваня',
    'age': 18,
}
Объекты из словарях, можно изменять по своему желанию следующим образом.

person = {
    'name': 'Ваня',
    'age': 18,
}
person['name'] = 'John'
print person # Вернет: {'age': 18, 'name': 'John'}
Чаще всего в качестве ключей применяются строки, тем не менее, для этих целей допускается использовать большинство других объектов языка Python, включая числа и кортежи. Определенные объекты, включая списки и словари, не могут использоваться в качестве ключей, потому что их содержимое может изменяться.

Словари обеспечивают удобный способ определения объектов, содержащих именованные поля, как было показано выше. Кроме того, словари могут использоваться, как контейнеры, позволяющие быстро выполнять поиск в неупорядоченных данных. В качестве примера ниже приводится словарь, содержащий цены на акции:

price = {
    'GOOG' : 490.10,
    'AAPL' : 123.50,
    'IBM'  : 91.50,
    'MSFT' : 52.13
}

Есть два способа для создания словаря:

first = {} # Фигурные скобки
second = dict() # Пустой словарь

Для проверки существования элемента в словаре выполняется с помощью оператора in, как показано в следующем примере:

if 'SCOX' in price:
    p = price['SCOX']
else:
    p = 0.0

Данную логику можно осуществить в более компактной форме, без использования if/else блоков.

p = price.get('SCOX', 0.0)

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

syms = list(price) # Результат: syms = ['AAPL', 'MSFT', 'IBM', 'GOOG']

Удаление элемента словаря выполняется с помощью инструкции del:

del price['MSFT']

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

Увеличьте свою посещаемость путем настройки сниппета поисковой системы Яндекс. Сделайте выдачу поисковых результатов ваших сайтов более привлекательной и информационней для потенциального посетителя.