Sobes.tech
Junior
85
questionbank

Какие существуют последовательности в Python?

Ответ от нейросети

sobes.tech AI

В Python существуют следующие встроенные типы последовательностей:

  1. Неизменяемые последовательности:

    • Строки (str): Последовательности символов.
    • Кортежи (tuple): Упорядоченные коллекции элементов, которые не могут быть изменены после создания.
    • Байтовые последовательности (bytes): Последовательности байтов (неизменяемый аналог bytearray).
  2. Изменяемые последовательности:

    • Списки (list): Упорядоченные коллекции элементов, которые можно изменять.
    • Массивы байтов (bytearray): Изменяемые последовательности байтов.

Основные операции, общие для всех типов последовательностей, включают:

  • Доступ по индексу: последовательность[индекс]
  • Срезы: последовательность[начало:конец:шаг]
  • Длина: len(последовательность)
  • Проверка на вхождение: элемент in последовательность
  • Конкатенация: последовательность1 + последовательность2 (для изменяемых создает новый объект)
  • Повторение: последовательность * число (для изменяемых создает новый объект)

Операции специфичные для изменяемых последовательностей:

  • Изменение элемента по индексу: последовательность[индекс] = новое_значение
  • Изменение среза: последовательность[начало:конец] = новая_последовательность
  • Добавление элементов: последовательность.append(элемент), последовательность.extend(последовательность)
  • Вставка элементов: последовательность.insert(индекс, элемент)
  • Удаление элементов: del последовательность[индекс], последовательность.remove(элемент), последовательность.pop(индекс)

Примеры использования:

# Строка (неизменяемая)
my_string = "Hello"
# Кортеж (неизменяемый)
my_tuple = (1, 2, 3)
# Список (изменяемый)
my_list = [4, 5, 6]
# Байты (неизменяемая)
my_bytes = b'world'
# Массив байтов (изменяемая)
my_bytearray = bytearray(b'python')

# Доступ по индексу
print(my_string[0])  # Вывод: H
print(my_tuple[1])   # Вывод: 2
print(my_list[2])    # Вывод: 6

# Срезы
print(my_string[1:4]) # Вывод: ell
print(my_list[:2])    # Вывод: [4, 5]

# Изменение списка (неизменяемые типы не поддерживают эту операцию)
my_list[0] = 10
print(my_list) # Вывод: [10, 5, 6]

# Конкатенация
new_list = my_list + [7, 8]
print(new_list) # Вывод: [10, 5, 6, 7, 8]

# Добавление в список
my_list.append(9)
print(my_list) # Вывод: [10, 5, 6, 9]