← Назад к вопросам

Какие знаешь последовательности в Python?

2.0 Middle🔥 181 комментариев
#Soft Skills

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Последовательности в 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.

Какие знаешь последовательности в Python? | PrepBro