Python Урок 6. Кортежи и словари

Поділитись

На уроке раскрываются подробности работы в python с кортежами и словарями

Кортежи

  • Создание пустого кортежа:
  • Инициализация кортежа:

Словари

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

empty_dict = {} # способ 1
empty_dict = dict() # способ 2

Инициализация элементов словаря:

students = { ‘Иван’: [‘2’, ‘5’, ‘4’], ‘Петр’: [‘4’, ‘4’] }
print(students) # {‘Петр’: [‘4’, ‘4’], ‘Иван’: [‘2’, ‘5’, ‘4’]}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Создадим пустой словарь ColorsTranslator
ColorsTranslator = dict()

  # Заполним его несколькими значениями
ColorsTranslator[‘Green’] = ‘Зеленый’
ColorsTranslator[‘Red’] = ‘Красный’
ColorsTranslator[‘Yellow’] = ‘Желтый’  

# создаем массив (список) для работы со словарем
Colors = [‘Green’, ‘Red’, ‘Yellow’]  
for color in Colors:

# Для каждого цвета из списка проверяем, есть ли он в словаре
if color in ColorsTranslator:
print(‘Перевод цвета ‘ + color + ‘: ‘ + ColorsTranslator[color])
else:
print(‘В базе нет цвета с названием ‘ + color )

РАБОТА С ЭЛЕМЕНТАМИ СЛОВАРЯ

Удаление элементаДля удаления элемента используется процедура del A[key]. Если удаляемый ключ отсутствует в словаре, то будет возвращено исключение. Для того, чтобы избежать исключения, применяется безопасное удаление с использованием оператора try...except:

1
2
3
4
5
6
7
8
9
10
11
A = {‘red’ : ‘красный’, ‘green’ : ‘зеленый’, ‘blue’ : ‘синий’}

  key = ‘yellow’
if key in A:
del A[key]  

try:
del A[key]
except KeyError:
print(‘There is no element with key “‘ + key + ‘” in dict’)
print(A)

В результате в окне ввода мы увидим:

There is no element with key "yellow" in dict
{'red': 'красный', 'green': 'зеленый', 'blue': 'синий'}

Удалить элемент также можно используя метод pop:

A.pop(key)

Перебор элементов

A = {‘red’ : ‘красный’, ‘green’ : ‘зеленый’, ‘blue’ : ‘синий’}
for key in A:
print(key, A[key])

В результате мы увидим:

red красный
green зеленый
blue синий

Или так:

A = {‘red’ : ‘красный’, ‘green’ : ‘зеленый’, ‘blue’ : ‘синий’}
for key, val in A.items():
print(key, val)

Значение по ключу

A.get(key) — метод возвратит None, если элемента с ключом key нет в словаре.Задание 6_1 dict:

Задан словарь перевода цветов с английского языка на русский (пары англ: русск). Словарь не вводить, а инициализировать значениями в программе. Все слова в словаре различны. 1) Выведите весь словарь. 2) Выведите перевод последнего слова в словаре. 3) Удалите из словаря слово red.

Желаемый результат:

Словарь:
red красный
green зеленый
yellow желтый
Последнее слово:
yellow желтый
Удаление слова: 
green зеленый
yellow желтый

Задание 6_2 dict:

В первой строке содержится число N — число элементов в словаре. Дан список (словарь) стран и рек, протекающих в каждой стране. Затем даны названия рек (в виде списка). Выполните задания:
1) Для каждой реки укажите, в какой стране она протекает.
2) Проверьте, есть ли введенное название реки в словаре (вывести есть или нет)
3) Добавьте новую пару страна-река в словарь.
4) Удалите из словаря реку (название реки запросить).


Поділитись