В этой статье мы рассмотрим две важных структуры данных Python — множества и словари. Множества помогут вам управляться с уникальными элементами и выполнять быструю проверку принадлежности, а словари — мгновенно находить данные по ключу. Если упрощать, представьте, что множества — это, например, коллекция уникальных книг в библиотеке, а словари — это как база читателей, где у каждого указаны ФИО, возраст и любимый жанр.
Множества в Python
Что такое множество?
Множество — это неупорядоченная коллекция уникальных элементов. Это как карточка участника — только один человек может быть владельцем, и каждый билет уникален. Порядок не имеет значения, но наличие дублей исключено.
Создание множества
Создать множество просто. Давайте начнем с множества чисел:
numbers = {1, 2, 3, 4, 5}
Основные операции с множествами
С помощью методов множества можно управлять элементами, объединять их, находить пересечения, а также легко удалять и добавлять элементы.
Добавление элементов
Для добавления новых элементов используется метод add(). Пример:
numbers.add(6)
print(numbers) # {1, 2, 3, 4, 5, 6}
Удаление элементов
Python предоставляет три способа удаления:
- remove(): удаляет элемент, если он существует, иначе вызовет ошибку.
- discard(): тоже удаляет элемент, но без ошибок, если элемента нет.
- pop(): удаляет и возвращает случайный элемент.
numbers.remove(6)
numbers.discard(3)
popped = numbers.pop()
print(numbers, popped)
Операции с множествами
Множества полезны при объединении и пересечении данных. Например, у нас есть два множества:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
Объединение
С помощью | или метода union() можно объединить элементы:
union_set = set1 | set2
print(union_set) # {1, 2, 3, 4, 5}
Пересечение
Метод & или intersection() показывает, какие элементы общие:
intersection_set = set1 & set2
print(intersection_set) # {3}
Разность
Чтобы получить элементы, которые есть в set1, но отсутствуют в set2, используйте — или difference():
difference_set = set1 - set2
print(difference_set) # {1, 2}
Уникальность элементов
Множества отлично подходят для удаления дубликатов. Представьте, что вы обработали список заказов, а теперь нужно узнать уникальные товары:
orders = ["apple", "banana", "apple", "orange", "banana"]
unique_orders = set(orders)
print(unique_orders) # {'apple', 'banana', 'orange'}
Словари в Python
Что такое словарь?
Словарь — это коллекция пар «ключ-значение». В этой коллекции ключ уникален, а значение может быть любым объектом. Словарь похож на адресную книгу: ключ — это имя человека, а значение — его адрес, телефон и другие данные.
Создание словаря
Создадим словарь с информацией о человеке:
person = {
"name": "Иван",
"age": 30,
"city": "Москва"
}
Основные операции со словарями
Доступ к значениям
Обращение по ключу позволяет быстро получить значение:
print(person["name"]) # Иван
Добавление и обновление
Вы можете легко добавлять или обновлять значения:
person["job"] = "Программист" # Добавление
person["age"] = 31 # Обновление
print(person)
Удаление элементов
Для удаления ключа и его значения можно использовать:
del person["city"]
age = person.pop("age")
print(person, age) # {'name': 'Иван', 'job': 'Программист'} 31
person.clear() # Очистка словаря
print(person) # {}
Перебор элементов
Словари можно перебирать с помощью цикла for:
person = {
"name": "Иван",
"age": 30,
"city": "Москва"
}
# Ключи
for key in person:
print(key, person[key])
# Пары ключ-значение
for key, value in person.items():
print(key, value)
Пример программы: подсчёт количества слов
Для наглядности создадим программу, подсчитывающую вхождения каждого слова в тексте.
def word_count(text):
words = text.split()
word_dict = {}
for word in words:
if word in word_dict:
word_dict[word] += 1
else:
word_dict[word] = 1
return word_dict
text = "солнце светит ярко и ярко светит солнце"
result = word_count(text)
print(result)
Как работает программа:
- Мы разбиваем текст на слова.
- Создаем пустой словарь.
- Проверяем, если слово уже в словаре, увеличиваем его счетчик. Иначе добавляем слово с начальным значением 1.
Пример вывода:
{'солнце': 2, 'светит': 2, 'ярко': 2, 'и': 1}
Заключение
Множества и словари — универсальные структуры данных, облегчающие задачи с уникальностью элементов и быстрым доступом к данным. Множества помогают исключать дублирование, а словари делают работу с данными удобной и эффективной.