Найти тему

Основа для КЕГЭ. Списки в Python. Индексы, обратная индексация, срезы, добавление и замена элементов.

Оглавление

Список — это структура данных для хранения одномерной информации в Python.

Для создания списка, пишем его название (например: a, list, numbers) ставим знак равенства =, а затем в квадратных скобках через запятую пишем элементы списка (например [2, 5, 0, 3, 8, 3, 1])

Списки в Python
Списки в Python

Списки могут хранить в себе элементы разных типов: числа (тип int), дробные числа (тип float), строки ( тип str). В списках могут храниться даже сами списки. Причем в одном списке может быть сразу нескольких типов.

Списки в Python могут быть пустыми, т.е. не содержать элементов.

numbers = [ ]

Если вы захотите обратится к элементу пустого списка по индексу, программа выдаст ошибку, потому что список не содержит элементов.

У каждого элемента списка есть свой индекс, порядковый номер

Нумерация элементов в Python начинается с нуля. Это значит что у первого элемента списка индекс — 0, у второго элемента индекс — 1, у третьего — 2 и т.д. Индексы ограничены количеством значений. Обращение к индексу за пределами доступного диапазона приводит к ошибке.

Порядок индексов всегда одинаков и начинается с нуля.
Порядок индексов всегда одинаков и начинается с нуля.

Для обращения к определённому элементу списка, напишите название списка, затем индекс элемента в квадратных скобках.

Например:

list = [21, 22, 23, 24.3 , 25, 26, 27]
print( list[2])
--------------
23

Индексы могут быть отрицательными — это называется обратная индексация.

Обратная индексация

Индексы могут быть отрицательными. Чтобы получить последний элемент списка, в квадратных скобках указывают -1. Индекс предпоследнего элемента — -2, третьего с конца элемента — -3 и так далее. Обратиться к одному и тому же элементу можно как по обычному, так и по отрицательному индексу.

Например:

list = [21, 22, 23, 24.3 , 25, 26, 27]
print( list[-2])
--------------
26

Срезы

Срезы позволяют получить не один, а сразу несколько идущих подряд элементов списка. Чтобы сделать срез, в квадратных скобках через знак двоеточия указывайте начало и конец желаемого диапазона. Начало среза — это индекс первого входящего в желаемый диапазон элемента, а конец среза — индекс последнего элемента +1.

-3

Результатом выполнения среза является новый список.

Если указанный конец среза превышает количество индексов в списке, ошибки не будет, лишние значения просто отбрасываются.

Например:

list = [21, 22, 23, 24.3 , 25, 26, 27]
print( list[3 : 10])
--------------
[24.3 , 25, 26, 27]

Срезы начала и конца списка

Если вам нужен срез с начала списка, индекс первого элемента можно не указывать. Нужно просто в квадратных скобках на месте последнего индекса указать количество необходимых элементов в срезе.

Например:

list = [21, 22, 23, 24.3 , 25, 26, 27]
print( list[ : 3])
--------------
[21, 22, 23]

Срезы с конца списка работают аналогично. Последний элемент среза совпадает с окончанием списка, поэтому достаточно указать индекс первого элемента. Удобнее делать это через отрицательный индекс.

Например:

list = [21, 22, 23, 24.3 , 25, 26, 27]
print( list[-3 : ])
--------------
[25, 26, 27]

Шаг в срезе

В примерах выше мы указывали только начало и конец среза, результатом был список всех элементов входящих в диапазон. А если вам необходимо каждое второе число из среза или каждое третье число?

Тогда в квадратных скобка через двоеточие мы указываем начало диапазона, потом конец диапазона, а следом указываем шаг диапазона.

-4

Добавление и замена элементов в списке

Для замены уже существующего элемента в списке — нужно написать название списка, указать в квадратных скобках индекс элемента, который хотите заменить и знаком равенства присвоить этому элементу новое значение.

list = [21, 22, 23, 24.3 , 25, 26, 27]
list[ 3] = 0
print(list)
--------------
[21, 22, 23, 0 , 25, 26, 27]

Для добавления новых элементов в конец списка применяют метод append()

-5

Урок получился чуть больше чем я ожидала. Если у вас ещё есть вопросы, не всё понятно, то пишите! Ставьте лайк и подписывайтесь на мой канал!

Наука
7 млн интересуются