Словари в Python

Материал из Викижурнал
Словари в Python
Словари в Python
Словари в Python
Тематические порталы

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

Так как словари могут хранить практически безграничный объем данных, мы покажем, как перебирать эти данные и работать с ними. Кроме того, вы научитесь вкладывать словари в списки, списки в словари и даже словари в другие словари.

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

Создание простого словаря

Рассмотрим игру с участием инопланетян, которые могут иметь разные цвета и баллы. Этот простой словарь хранит информацию о конкретном пришельце:

alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])

В словаре alien_0 хранится цвет и значение инопланетянина. Две указанные функции print() выводят эту информацию соответствующим образом:

green
5

Как и в большинстве новых концепций программирования, использование словарей требует практики. Немного поработав со словарями, вы скоро увидите, насколько эффективно они могут отображать реальные ситуации.

Отображение данных словаря

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

Фактически, вы можете использовать любой объект, который вы можете создать в Python, как значение в словаре. В Python данные словаря заключены в фигурные скобки "{}", с последовательностью данных "ключ-значение" внутри этих скобок, как показано в предыдущем примере:

alien_0 = {'color': 'green', 'points': 5}

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

alien_0 = {'color': 'green'}

В этом словаре хранится одна информация о пришельце (alien_0), а именно цвет пришельца. Строка 'color' является ключом в этом словаре, и ее ассоциированное значение - 'green'.

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

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

alien_0 = {'color': 'green'}
print(alien_0['color'])

Это возвращает значение, связанное с ключом 'color' из словаря "alien_0":

green

Можно иметь неограниченное количество пар "ключ-значение" в словаре. Например, вот оригинальный словарь alien_0 с двумя парами "ключ-значение":

alien_0 = {'color': 'green', 'points': 5}

Теперь можно получить доступ либо к цвету, либо к значению "очков" alien_0. Например, если игрок сбивает этого пришельца в игре, можно посмотреть, сколько очков можно заработать, используя следующий код:

alien_0 = {'color': 'green', 'points': 5}
new_points = alien_0['points']
print("You just earned " + str(new_points) + " points!")

Как только словарь составлен, код извлекает значение, связанное с ключом 'points' из словаря. Это значение затем сохраняется в переменной new_points. Строка преобразует это целочисленное значение в строку и выводит утверждение о том, сколько очков игрок только что заработал:

You just earned 5 points!

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

Примечание

Основная статья: Операции со словарями в Python

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

Другие статьи о Python