В Python, помимо изменяемых списков, существуют структуры данных, которые нельзя изменить после их создания. К ним относятся кортежи и множества. Кортежи представляют собой упорядоченные коллекции элементов, а множества — неупорядоченные коллекции уникальных значений.
Кортежи
Кортеж создаётся перечислением значений через запятую, заключённых в круглые скобки:
myAnimals = ('Cat', 'Dog', 'Mouse', 'Cow', 'Horse')
Доступ к элементам кортежа осуществляется по индексу, аналогично спискам:
print(myAnimals[1]) # Выведет: Dog
Кортежи можно «распаковывать» в отдельные переменные:
a, b, c, d, e = myAnimals
print(a) # Cat
print(e) # Horse
Множества
Множество — это коллекция уникальных значений, создаваемая с помощью фигурных скобок:
cars = {'Audi', 'BMW', 'Opel'}
Элементы множества нельзя получать по индексу, но с ним можно работать с помощью методов:
- add(x) — добавляет элемент
- update(x, y, z) — добавляет несколько элементов
- copy() — создаёт копию множества
- pop() — удаляет случайный элемент
- discard(i) — удаляет указанный элемент
- intersection() — возвращает общие элементы двух множеств
- difference() — возвращает элементы, отсутствующие в другом множестве
Пример добавления нового элемента:
cars.add('Honda')
print(cars)
Определение типа данных:
animals = ('Cat', 'Dog', 'Mouse')
print('Tuple:', animals, '\tLength:', len(animals))
print(type(animals))
Проверка наличия элемента в множестве:
color = {'Red', 'Green', 'Blue'}
print('Is Green in color?', 'Green' in color) # True
print('Is Orange in color?', 'Orange' in color) # False
Поиск общих элементов:
cars1 = {'Audi', 'BMW', 'Opel'}
cars2 = {'Audi', 'Honda', 'Tesla'}
print('Common to both sets:', cars1.intersection(cars2))
Кортежи и множества в Python помогают хранить и обрабатывать данные, которые не должны изменяться или должны быть уникальными. Кортежи подходят для фиксированных последовательностей, а множества — для работы с уникальными значениями и быстрых проверок принадлежности элемента. Понимание этих структур расширяет возможности написания чистого и эффективного кода.
0 Комментарий(я)
Зарегистрируйтесь чтобы оставить комментарий