Словарь – это набор ключей и соответствующих им значений.
В Python словарю соответствует тип dict.
Квадратные скобки [] позволяют добавить и получить значение из словаря.
Словарь можно заполнить при его создании:
Данные в словаре не упорядочены.
Ключами в словаре могут быть значению любого неизменяемого типа: int, float, str.
Вещественный ключ, строковое значение:
Строковый ключ, значение - список:
Каково значение выражения shop["фрукты"][1]?
get()Если попытаться получить значение по ключу, которого нет в словаре, возникнет ошибка:
update()Метод update() добавляет новые пары ключ-значение или обновляет существующие.
Можно объединять два словаря:
Если ключи совпадают, значение из обновляющего словаря перезаписывает старое.
Методы keys() и values() возвращают список ключей и значений словаря соответственно.
in для словарейОператор in проверяет наличие ключа в словаре:
Посчитать сколько раз наименование товара встречается на складе. Название товара вводится с клавиатуры.
Напишите программу-переводчик с английского на русский язык.
eng2rus = {
"cat": "кот",
"dog": "собака",
"bird": "птица"
}
all_eng_words = eng2rus.keys() # список ключей
joined_keys = ", ".join(all_eng_words)
print("Доступные слова:", joined_keys)
word = input("Введите слово для перевода: ")
translation = eng2rus.get(word, "Слово не найдено")
print("Перевод:", translation)Посчитайте сколько раз встречается каждое слово в строке.
| Метод | Назначение |
|---|---|
d.get(key) |
Безопасное получение значения |
d.get(key, default) |
Получение с значением по умолчанию |
d.update(other) |
Обновление словаря другим словарём |
d.keys() |
Получение коллекции ключей |
d.values() |
Получение коллекции значений |
d.items() |
Получение коллекции пар (ключ, значение) |
shop["фрукты"][0]
"банан" in shop
shop.get("мясо", "нет в наличии")
list(shop.keys())
len(shop.values())
Множество - это неупорядоченная коллекция уникальных элементов. В Python множеству соответствует тип set.
Что выведет на экран print(colors[0])?
| Метод | Назначение |
|---|---|
s.add(x) |
Добавить элемент x в множество |
s.discard(x) |
Удалить элемент x |
s.clear() |
Очистить множество |
Элементы множества можно перебирать циклом for:
Порядок элементов в множестве не гарантируется и может отличаться от порядка добавления.
Оператор in проверяет принадлежность элемента множеству:
Примеры:
Даны два множества:
phys - фамилии студентов, участвующих в олимпиаде по физике;math - фамилии студентов, участвующих в олимпиаде по математике.Программа должна выполнить следующие операции над множествами:
Найти пересечение (&): вывести фамилии студентов, участвующих в обеих олимпиадах.
Найти объединение (|): вывести фамилии всех студентов, заявленных хотя бы на одну олимпиаду.
Найти разность physics - math: вывести фамилии тех, кто участвует только в физической олимпиаде.
Найти разность math - physics: вывести фамилии тех, кто участвует только в математической олимпиаде.
Найти симметричную разность (^): вывести фамилии студентов, участвующих ровно в одной из олимпиад.
len(A)
A | B
A & B
5 in A
A - B
str |
list |
dict |
set |
|
|---|---|---|---|---|
| Упорядоченность | ✅ Да | ✅ Да | ❌ Нет | ❌ Нет |
| Уникальность элементов | ❌ Нет | ❌ Нет | 🟨 Ключи | ✅ Да |
| Изменяемость | ❌ Нет | ✅ Да | ✅ Да | ✅ Да |
| Индексация | ✅ По номеру | ✅ По номеру | ✅ По ключу | ❌ Нет |