Python для новичков: индексы и срезы списков

Создание списка и индексы

Создадим список:

my_list = [34, 'sd', 56, 34.34]

Индекс элемента — его порядковый номер, начиная с нуля. В нашем списке:

  • 34 имеет индекс 0.
  • ‘sd’ имеет индекс 1.
  • 56 имеет индекс 2.
  • 34.34 имеет индекс 3.

Доступ к элементу по индексу осуществляется с помощью квадратных скобок:

print(my_list[0])  # Выведет 34

Обращение к несуществующему индексу (например, my_list[4]) вызовет ошибку IndexError.

Отрицательные индексы

Python поддерживает отрицательные индексы. -1 — последний элемент, -2 — предпоследний и так далее:

print(my_list[-1])  # Выведет 34.34
print(my_list[-3])  # Выведет 'sd'

Обращение к несуществующему отрицательному индексу также вызовет ошибку IndexError.

Вывод элементов списка в цикле

Для вывода всех элементов можно использовать цикл for:

for item in my_list:
    print(item)

Этот код проще и предпочтительнее варианта с инкрементом счетчика.

Срезы

Срезы извлекают подмножества элементов. Синтаксис:

список[старт:стоп:шаг]

  • старт — индекс начального элемента (по умолчанию 0).
  • стоп — индекс элемента, до которого идёт срез (сам элемент не включается, по умолчанию — длина списка).
  • шаг — шаг выборки (по умолчанию 1).

Примеры:

print(my_list[:])      # Выведет весь список
print(my_list[1:])     # Выведет список, начиная со второго элемента
print(my_list[:3])     # Выведет список до четвёртого элемента
print(my_list[::2])    # Выведет каждый второй элемент
print(my_list[1:3])    # Выведет элементы со второго по третий (не включая третий)

старт, стоп и шаг могут быть отрицательными.

Примеры использования отрицательных индексов в срезах

print(my_list[:-1])    # Удаляет последний элемент (создаёт новый список без последнего)
print(my_list[-2:])    # Выводит два последних элемента
print(my_list[::-1])   # Разворачивает список

В этом уроке рассмотрены индексы и срезы в списках Python. Они позволяют эффективно работать с элементами, извлекая отдельные элементы или их подмножества. Использование цикла for и срезов упрощает обработку списков.

Что будем искать? Например,программа