В предыдущих уроках мы познакомились со списками – перейти в урок 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
В итоге у вас должно получиться также, как на картинке.
Домашнее задание
- Поэкспериментируйте с парами в словаре. Добавляйте новые пары. Выводите на экран данные из словаря.
- Создайте с нуля свой собственный словарь. Например, перевод английских слов на русский.
Ну а в следующем уроке мы узнаем, что такое ООП в Питоне, что такое классы и напишем свой первый класс - перейти в урок 34.