Содержание:
Кортежи
-
Кортеж в Питоне — по сути это неизменяемый список.
- Создание пустого кортежа:
- Инициализация кортежа:
empty_tuple = () empty_tuple = tuple() |
t = (1, 2, 3) print(t) # (1, 2, 3) print(t[0]) # 1 |
Словари
Словари в питоне хранят данные в виде пары ключ-значение. Ключи в обычном словаре хранятся без гарантии порядка. То есть в отличие от списка элементы словаря имеют не числовой индекс, а произвольный. Словари еще могут называться ассоциативными массивами.
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 нет в словаре.
Задан словарь перевода цветов с английского языка на русский (пары англ: русск
). Словарь не вводить, а инициализировать значениями в программе. Все слова в словаре различны. 1) Выведите весь словарь. 2) Выведите перевод последнего слова в словаре. 3) Удалите из словаря слово red
.
Желаемый результат:
Словарь: red красный green зеленый yellow желтый Последнее слово: yellow желтый Удаление слова: green зеленый yellow желтый
В первой строке содержится число N
— число элементов в словаре. Дан список (словарь) стран и рек, протекающих в каждой стране. Затем даны названия рек (в виде списка). Выполните задания:
1) Для каждой реки укажите, в какой стране она протекает.
2) Проверьте, есть ли введенное название реки в словаре (вывести есть
или нет
)
3) Добавьте новую пару страна-река в словарь.
4) Удалите из словаря реку (название реки запросить).