Как разделить элементы списка python
Перейти к содержимому

Как разделить элементы списка python

Python: нарезка итерируемых объектов

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

Python предлагает множество простых способов разрезать не только эти три, но и любые итерируемые объекты. Итерация, как следует из названия, любой объект, который может повторяться.

В этой статье мы рассмотрим все, что вам нужно знать о нарезке списков в Python.

Нарезка списка в Python

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

Параметр start представляет собой начальный индекс, end это конечный индекс, и step это количество элементов в шаге.

Если step явно не указано, используется значение по умолчанию 1 . Обратите внимание, что элемент с индексом start будет включен в результирующий подсписок, а элемент с индексом end не будет. Первый элемент списка имеет индекс 0 .

Пример без параметра step :

Это должно напечатать:

Для того, чтобы получить слова через одно, установите step на 2 :

Если step нет в списке, подсписок будет начинаться с начала. Аналогичным образом, если end нет в списке, подсписок будет заканчиваться концом исходного списка:

Этот фрагмент кода распечатывает:

Нахождение начала и конца списка с помощью среза

Обозначение среза может также использоваться с отрицательной индексацией. Отрицательное индексирование работает так же, как обычное индексирование, за исключением того факта, что оно начинает индексирование с последнего элемента, имеющего индекс -1 .

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

Давайте продолжим и разделим хвост и начало списка:

Использование нотации среза для переворота списка

Даже параметр step может быть отрицательным. Если мы установим отрицательное значение, результирующий список будет перевернут со значением step . Вместо того, чтобы идти вперед, мы делаем шаг назад, от конца списка к началу и включаем следующие элементы:

Замена элементов подсписка нотацией среза

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

Замена каждого n-го элемента списка срезной нотацией

Простой способ заменить каждый n-й элемент списка — установить для параметра step значение n в нотации среза:

Вывод

Нарезать любую последовательность в Python легко, просто и интуитивно понятно. Отрицательная индексация предлагает простой способ получить первые или последние несколько элементов последовательности или изменить ее порядок.

В этой статье мы рассмотрели, как применить нотацию фрагментов к спискам в Python.

Функция slice() — срез списка в Python

Чтобы нарезать список в Python, используйте встроенную функцию slice().

Эта функция возвращает объект среза и мы можем использовать его, чтобы нарезать список в Python. Все, что нам нужно сделать, это передать объект среза в виде индекса в квадратных скобках после переменной списка. Это выражение возвращает нарезанный список.

Ниже приведен пример фрагмента кода для фрагментации списка с определенным значением для параметра остановки в функции фрагмента.

Ниже приведен пример фрагмента кода для нарезки списка с определенным значением для запуска, остановки и необязательным параметром шага в функции фрагмента.

Пример 1: с определенной конечной позицией

В этом примере мы подготовим объект-слайс с определенной конечной позицией stop = 5 и будем использовать этот объект-слайс для разрезания данного списка.

Объект среза будет содержать индексы [0, 1, 2, 3] для данного стоп-значения 4. И элементы в списке, соответствующие этим индексам, – [‘a’, ‘b’, ‘c’, ‘d’ ]. Следовательно, результирующий список будет [‘a’, ‘b’, ‘c’, ‘d’].

Пример 2: с определенными начальной и конечной позициями

В этом примере мы подготовим объект-слайс с определенными положениями начала и конца и будем использовать этот объект-слайс для разрезания данного списка.

Объект среза будет содержать индексы [2, 3, 4, 5, 6] для заданных начальных и конечных значений. И элементы в списке, соответствующие этим индексам, должны быть возвращены list_1 [slice_object]. Следовательно, результирующий список [‘c’, ‘d’, ‘e’, ‘f’, ‘g’].

Пример 3: с определенными начальными и конечными положениями, шагом

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

Объект среза будет содержать индексы [2, 4, 6]. И элементы в списке, соответствующие этим индексам, должны быть возвращены list_1 [slice_object]. Следовательно, итоговый список [‘c’, ‘e’, ‘g’].

Заключение

В этом руководстве примеров в Python мы узнали, как разрезать список, используя встроенную функцию slice().

Примеры работы со списками Python

Список Python — это последовательность значений любого типа: строки, числа, числа с плавающей точкой или даже смешанного типа. В этом материале речь пойдет о функциях списков, о том, как создавать их, добавлять элементы, представлять в обратном порядке и многих других.

Создать списки Python

Для создания списка Python нужно заключить элементы в квадратные скобки:

Список может выглядеть так:

Можно смешивать типы содержимого:

Поддерживаются вложенные списки как в примере выше.

Получать доступ к любому элементу списка можно через его индекс. В Python используется система индексации, начиная с нуля.

Принцип похож на строки.

Изменение списка

Списки — это изменяемые объекты, поэтому их элементы могут изменяться, или же может меняться их порядок.

Если есть такой список:

То его третий элемент можно изменить следующим образом:

Если сейчас вывести его на экран, то он будет выглядеть вот так:

Если индекс — отрицательное число, то он будет считаться с последнего элемента.

Вывод этого кода — ‘пять’.

Проход (итерация) по списку

Читать элементы списка можно с помощью следующего цикла:

Таким образом можно читать элементы списка. А вот что касается их обновления:

Результат будет следующим:

Функция len() используется для возврата количества элементов, а range() — списка индексов.

Стоит запомнить, что вложенный список — это всегда один элемент вне зависимости от количества его элементов.

Результат кода выше — 5 .

Срез списка

Можно получить срез списка с помощью оператора ( : ):

Результат кода выше — [‘два’, ‘три’]

Если убрать первое число, от срез будет начинаться с первого элемента, а если второе — с последнего.

Если убрать числа и оставить только двоеточие, то скопируется весь список.

Результат этого года:

Поскольку списки изменяемые, менять элементы можно с помощью оператора среза:

Вставить в список

Метод insert можно использовать, чтобы вставить элемент в список:

Индексы для вставляемых элементов также начинаются с нуля.

Добавить в список

Метод append можно использовать для добавления элемента в список:

Можно добавить и больше одного элемента таким способом:

При этом list_2 не поменяется.

Отсортировать список

Для сортировки списка нужно использовать метод sort .

Перевернуть список

Можно развернуть порядок элементов в списке с помощью метода reverse :

Индекс элемента

Метод index можно использовать для получения индекса элемента:

Если в списке больше одного такого же элемента, функция вернет индекс первого.

Удалить элемент

Удалить элемент можно, написав его индекс в методе pop :

Если не указывать индекс, то функция удалит последний элемент.

Элемент можно удалить с помощью метода remove .

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

Можно удалить несколько элементов с помощью оператора среза:

Функции агрегации

В Python есть некоторые агрегатные функции:

sum() работает только с числовыми значениями.

А max() , len() и другие можно использовать и со строками.

Сравнить списки

В Python 2 сравнить элементы двух списком можно с помощью функции cmp :

Она вернет -1 , если списки не совпадают, и 1 в противном случае.

В Python 3 для этого используется оператор ( == ):

Результат не совпадают .

Математические операции на списках:

Для объединения списков можно использовать оператор ( + ):

Список можно повторить с помощью оператора умножения:

Списки и строки

Для конвертации строки в набор символов, можно использовать функцию list :

Функция list используется для того, чтобы разбивать строку на отдельные символы.

Можно использовать метод split для разбития строки на слова:

Она возвращает обычный список, где с каждым словом можно взаимодействовать через индекс.

Символом разбития может служить любой знак, а не только пробел.

Результат будет аналогичен:

Объединить список в строку

Обратный процесс — объединение элементов списка в строку.

Это делается с помощью метода join :

Результат Monty Python .

Алиасинг (псевдонимы)

Когда две переменные ссылаются на один и тот же объект:

Алиасинг значит, что на объект ссылается больше одного имени.

Следующий пример показывает, как меняются изменяемые списки:

Изменился список list_2 , но поскольку он ссылается на один и тот же объект, то оригинальный список тоже поменялся.
Использовать “псевдонимы” при работе со списками не рекомендуется.
В целом, работать со списками в Python очень просто.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *