Внимание! На этой странице вы найдете материал урока из архивного курса по Python. Курс был написан в 2024 году и по-прежнему актуален для начинающих разработчиков.
Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные интенсивы и задания.
Полный список уроков доступен по тегу Архивный курс по Python и на странице первого урока.
- В этом уроке вы узнаете про обратное индексирование, познакомитесь с методами
index,clear,reverse,countи другими. - Для примера работы методов были использованы списки, состоящие из чисел.
- Не забывайте, списки могут содержать любые объекты: числа, строки, другие списки и вообще все что угодно.
- Список может быть неоднородным.
- Элементы списка можно вызывать не только с начала, но и с конца: обратное индексирование.
- В отличие от обычного индексирования, обратное начинается не с
0, а с-1. - Обратное индексирование очень полезно в некоторых ситуациях и повышает эффективность кода.
- Например, в большом списке с изменяемой длиной вам не придется считать элементы с самого начала, чтобы добраться до последнего.
- Метод
index()используется для определения индекса элемента по его значению. - Метод
clear()очищает весь список. - Метод
reverse()меняет порядок следования элементов списка на обратный. - Метод
count()подсчитывает количество вхождений элемента в список. - Функции
min()иmax()возвращают минимальное и максимальное значения из списка соответственно. - Метод
snuffle()из модуля random перемешивает элементы списка в случайном порядке.
В предыдущих уроках вы узнали, как получить срез списка и какие есть основные методы. В этом уроке вы узнаете про обратное индексирование, познакомитесь с методами index, clear, reverse, count и другими. Для примера работы методов были использованы списки, состоящие из чисел. Но не забывайте, что списки могут содержать любые объекты: числа, строки, другие списки и вообще все что угодно. При этом список может быть неоднородным:
a = [1, 'Hello', [2, 3, 4], 2]
Элементы списка можно вызывать не только с начала, но и с конца: обратное индексирование. В отличие от обычного индексирования, обратное начинается не с 0, а с -1. Например:
a = [1, 2, 3, 4, 5]
a[-1] # => 5
Обратное индексирование очень полезно в некоторых ситуациях и повышает эффективность кода. Например, в большом списке с изменяемой длиной вам не придется считать элементы с самого начала, чтобы добраться до последнего. Достаточно воспользоваться предыдущим примером.
Иногда необходимо определить индекс элемента, зная его значение. Для этого существует метод index(), в параметре которого указывается значение элемента, индекс которого необходимо узнать:
a = [1, 2, 3, 4, 5]
a.index(2) # => 1
Если вы передадите несуществующее значение, то будет вызвано исключение ValueError, но об исключениях вы узнаете позднее.
Как удалить конкретный элемент списка вы узнали из этого урока. А как очистить весь список? Для этого есть метод clear().
a = [1, 2, 3, 4, 5]
a.clear() # => []
Список можно развернуть, то есть изменить порядок следования элементов на обратный при помощи метода reverse().
a = [1, 2, 3, 4, 5]
a.reverse() # => [5, 4, 3, 2, 1]
Чтобы посчитать, как часто встречается элемент в списке, можно использовать метод count(). Он возвращает 0, если такого элемента нет в списке.
a = [1, 2, 2, 2, 5]
a.count(2) # => 3
До этого момента мы рассматривали методы списков. Далее взглянем на функции, которые применимы к спискам. Что такое функции и методы и в чем их различия мы еще поговорим позднее, а сейчас достаточно знать, что методы вызываются с помощью оператора точка (.), например:
words.reverse()
Где words является списком, а reverse() – методом. Функция выглядит следующим образом:
sum(words)
Где words является списком, а sum – функцией.
Соглашусь, объяснение является поверхностным и не совсем корректным. Еще раз повторю, что об этом будем говорить позже, после чего вы можете вернуться к этому уроку и взглянуть на него другими глазами.
Кстати, в примере выше была использована функция sum(), которая возвращает общую сумму чисел в списке. Если в списке есть что-то, кроме чисел, то функцию sum, как вы понимаете, использовать нельзя.
Так же есть функции min() и max(), которые возвращают минимальное и максимальное значение из списка, соответственно.
Напоследок вспомним про урок, где мы генерировали случайные числа. Предположим, вам необходимо перемешать элементы списка, для чего необходимо подключить модуль random и использовать метод snuffle() из этого модуля.
import random
a = [1, "Hello", [3, 6, 7], 4, 5]
random.shuffle(a) # ~=> [5, 'Hello', 4, 1, [3, 6, 7]]
Обратите внимание, список является неоднородным и элемент с индексом 2 является другим списком. После применения метода snuffle() элементы списка перемешаются в случайном (точнее псевдослучайном) порядке, но элементы списка [3, 6, 7] не будут перемешаны.
Из этого урока вы узнали об обратном индексировании списков в Python, а так же познакомились с новыми методами и функциями, которые можно использовать для работы со списками. Хотелось написать еще больше, но урок и так оказался объемным, поэтому про конкатенацию и сортировку списков узнаете в следующем уроке.
Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу Python.
