В предыдущих уроках мы познакомились со списками – перейти в урок 29, урок 30 и урок 31.

В сегодняшнем уроке мы познакомимся еще с одной структурой данных, часто используемых в Питоне – это словари.

Словарь – это набор парных данных. Например, давайте отразим среднюю температуру июля месяца в разных городах России:

Москва: 20 градусов
Петербург: 15 градусов
Тюмень: 15 градусов
Краснодар: 30 градусов

 

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

Первый элемент (город) в каждой паре «город-температура» называется «ключ». А второй элемент (температура) называется «значение». Ключ от значения отделен двоеточием. Между парами ставится запятая. Все пары можно располагать в одну строку, а можно в столбик - для удобства чтения, при этом отступы от начала строки могут быть любыми. Питон все равно определяет все пары как написанные в одну строку. 

В Питоне ключи и значения пишутся так:

ключ – keys()
значение - values()

 

Внимание: в словаре не может быть двух и более одинаковых ключей. Но может быть несколько одинаковых значений.

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

 

Практический пример

Создаем на рабочем столе файл test28.py Не забываем про кодировку файла. Пишем в файл руками следующий программный код:

 
# -*- coding: utf-8 -*-

#Создаем новый словарь
cities_temperature = {
    'Moscow': '20',
    'Peterburg': '15',
    'Tyumen': '15',
	'Krasnodar': '30'
}

#Выведем на экран весь словарь
print '-' * 20
print cities_temperature

#Выведем на экран значение для ключа Moscow
print '-' * 20
print cities_temperature['Moscow']

#Выведем на экран значение для ключа Krasnodar
print '-' * 20
print cities_temperature['Krasnodar']

#Добавим в словарь пару Voronezh - 22 градуса
cities_temperature['Voronezh'] = '22'

#Выведем на экран весь словарь и посмотрим, добавилась ли пара Voronezh - 22
print '-' * 20
print cities_temperature

#Удалим из словаря пару с ключом Tyumen
del cities_temperature['Tyumen']

#Выведем на экран весь словарь и посмотрим, удалилась ли пара с ключом Tyumen
print '-' * 20
print cities_temperature

#А теперь выведем на экран все ключи из нашего словаря
#Обратите внимание, что ключи выводятся на экран не в том порядке, в котором они записаны в коде программы
print '-' * 20
print cities_temperature.keys()

#А теперь объединим все ключи словаря в одну строку для удобства использования в тексте
#Посмотрите в программе PowerShell, насколько это удобнее
print '-' * 20
print (', '.join(cities_temperature.keys()))

#А теперь выведем на экран все значения из нашего словаря
#Обратите внимание, что значение 15 два раза не выводится - только один раз
#Питон не дублирует вывод значений - достаточно одного вывода
print '-' * 20
print cities_temperature.values()

#А теперь объединим все значения словаря в одну строку для удобства использования в тексте
#Посмотрите в программе PowerShell, насколько это удобнее
print '-' * 20
print (', '.join(cities_temperature.values()))

#А теперь обработаем наш словарь циклом for и составим нормальный человеческий текст
print '-' * 20
for city, temp in cities_temperature.items():
    print u"В городе %s средняя температура июля составляет %s градусов Цельсия." % (
        city, temp)

 


Теперь открываем программу PowerShell и прописываем команду: python desktop/test28.py

В итоге у вас должно получиться также, как на картинке.

 

Домашнее задание

  1. Поэкспериментируйте с парами в словаре. Добавляйте новые пары. Выводите на экран данные из словаря.
  2. Создайте с нуля свой собственный словарь. Например, перевод английских слов на русский.

Ну а в следующем уроке мы узнаем, что такое ООП в Питоне, что такое классы и напишем свой первый класс - перейти в урок 34