0 знаков
20. Дополнительно про списки в 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
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ