В этой статье мы рассмотрим две важных структуры данных 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. Создаем пустой словарь.
  3. Проверяем, если слово уже в словаре, увеличиваем его счетчик. Иначе добавляем слово с начальным значением 1.

Пример вывода:

{'солнце': 2, 'светит': 2, 'ярко': 2, 'и': 1}

Заключение

Множества и словари — универсальные структуры данных, облегчающие задачи с уникальностью элементов и быстрым доступом к данным. Множества помогают исключать дублирование, а словари делают работу с данными удобной и эффективной.

 

Комментарии

0

Без регистрации и смс