Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Последовательности в Python
Последовательности — это упорядоченные коллекции элементов. В Python есть несколько встроенных типов последовательностей, каждый с уникальными характеристиками.
Список (list)
Изменяемая упорядоченная коллекция. Это самая гибкая и часто используемая последовательность:
fruits = ["apple", "banana", "cherry"]
fruits[0] = "apricot" # Можно менять элементы
fruits.append("date") # Добавлять элементы
fruits.pop() # Удалять элементы
Кортеж (tuple)
Неизменяемая упорядоченная коллекция. Используется, когда нужна защита от случайного изменения:
point = (10, 20, 30)
point[0] = 15 # TypeError: tuple object does not support item assignment
# Отлично подходит для ключей словаря
locations = {(0, 0): "origin", (1, 1): "diagonal"}
# И для возврата нескольких значений
def get_coordinates():
return (40, 50)
Строка (str)
Неизменяемая последовательность символов:
text = "Hello, World!"
text[0] # "H"
text[0:5] # "Hello"
text.upper() # "HELLO, WORLD!"
# text[0] = "J" # TypeError: str object does not support item assignment
Диапазон (range)
Неизменяемая последовательность целых чисел. Экономит память, так как хранит только начало, конец и шаг:
for i in range(5):
print(i) # 0, 1, 2, 3, 4
for i in range(2, 10, 2):
print(i) # 2, 4, 6, 8
list(range(5)) # [0, 1, 2, 3, 4]
Байты (bytes) и ByteArray
Неизменяемая (bytes) и изменяемая (bytearray) последовательности целых чисел в диапазоне 0–255:
data = b"Hello" # bytes
data[0] # 72 (ASCII код H)
# data[0] = 74 # TypeError
buffer = bytearray(b"Hello")
buffer[0] = 74 # Можно менять
print(buffer) # bytearray(bJello)
Общие операции
Все последовательности поддерживают:
# Индексация
seq[0] # первый элемент
seq[-1] # последний элемент
# Срезы
seq[1:3] # элементы с индекса 1 до 3 (не включая 3)
seq[::2] # каждый второй элемент
# Операции
len(seq) # длина
min(seq) # минимум
max(seq) # максимум
seq1 + seq2 # объединение (для списков, кортежей, строк)
seq * 3 # повторение
element in seq # проверка наличия
Различия и выбор
| Тип | Изменяемая | Когда использовать |
|---|---|---|
| list | Да | Нужна гибкость, часто меняется |
| tuple | Нет | Неизменяемые данные, ключи словаря |
| str | Нет | Работа с текстом |
| range | Нет | Цикл for, создание последовательности чисел |
| bytes | Нет | Бинарные данные, API |
| bytearray | Да | Редко, когда нужна изменяемая бинарная последовательность |
Заключение
Выбор между последовательностями зависит от того, нужна ли изменяемость, какой тип данных хранить, и какие операции выполнять. Для большинства задач используются list, tuple и str.