Share This
Связаться со мной
Крути в низ
Categories
//Как перевернуть список в Python

Как перевернуть список в Python

01.12.2021Category : Python

В этом руководстве мы расскажем, как перевернуть список в Python. Мы разберем несколько разных способов реверсирования списков и диапазонов списков на примерах.

Итак, давайте начнем!

От редакции Pythonist. Также рекомендуем статью «Как перевернуть строку в Python».

Как создать диапазон элементов в Python

Наиболее простой и эффективный способ создать диапазон чисел в Python – использовать встроенную функцию range().

Чтобы создать список с диапазоном чисел, мы воспользуемся функцией list() и внутри нее укажем функцию range().

Функция range() принимает до трех параметров – это параметры start, stop и step, при этом общий синтаксис выглядит так:

range(start, stop, step)

Параметр start – это число, с которого начнется отсчет. По умолчанию данный параметр равен 0. Таким образом, мы формируем наш диапазон, начиная с нулевого элемента.

Параметр stop – это число, на котором счет будет остановлен. Важно отметить, что последнее число, которое войдет в диапазон – stop-1.

И последний параметр — step. Это число, которое определяет, как числа будут увеличиваться. То есть с каким шагом мы будем идти. По умолчанию, step=1, то есть мы перебираем числа одно за другим.

Из этих трех параметров обязательным является только stop, остальные указываются опционально.

Если вы передаете функции range() только параметр stop, по умолчанию отсчет начнется с 0, а закончится на одно число перед указанным вами.

Рассмотрим пример, чтобы лучше понять, как это работает:

# Создать список чисел,начинающийся с 0  # и заканчивающийся на 3 (не 4).  my_range = list(range(4))  print(my_range) #output #[0, 1, 2, 3]

А вот так будет выглядеть пример, если передать сразу все 3 аргумента:

# Создать список чисел: # начинающийся с 0 # заканчивающийся на 9 # и чтобы счет инкрементировался на 1  my_range = list(range(0, 10, 1))  # Вывести в консоль print(my_range)  # Результат: # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  # Узнать тип при помощи встроенного метода type() print(type(my_range))  #output #<class 'list'>

Ещё раз заметим, что в данном случае параметры start и step можно было не передавать, так как они по умолчанию и так равны 0 и 1 соответственно.

kak perevernut spisok v python 184940d - Как перевернуть список в Python

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

Скачать ×

Как перевернуть диапазон в Python

Чтобы перевернуть диапазон чисел в Python с помощью функции range(), можно использовать отрицательный шаг, например -1. То есть в качестве третьего параметра step вы передаете отрицательное число. Тогда в результате мы получим исходный диапазон в обратном порядке.

В приведенном ниже примере создается список из диапазона чисел от 9 до -1. Однако последнее число мы не включаем, поэтому последним элементом диапазона будет ноль. А шаг равен -1, то есть мы пойдем в обратную сторону, перебирая все числа одно за другим.

my_range = list(range(9, -1, -1))  print(my_range) # Результат: # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]  print(type(my_range)) # <class 'list'>

Для того, чтобы переворачивать диапазоны в рамках функции range(), нужно передавать все три аргумента: start, stop и step. При этом step обязательно должен быть отрицательным.

Как перевернуть массив в Python

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

Каждый элемент в массиве имеет собственный порядковый номер (индекс).

Однако, в отличие от других языков программирования, в Python массивы не являются встроенной структурой данных. Для работы с массивами их нужно импортировать из сторонних библиотек (Numpy).

Вместо этого мы используем списки. А для поворота списков Python предлагает несколько способов. Давайте их рассмотрим!

Как перевернуть список в Python с помощью метода .reverse()

При использовании данного встроенного метода в Python список изменяется сразу же. Это означает, что изменяется исходный порядок данного списка.

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

Например, предположим, что у нас есть следующий список:

# Исходный список my_list = [10,20,30,40,50]  print("My initial list is: ",my_list)  # Результат: # My initial list is:  [10, 20, 30, 40, 50]

Чтобы изменить порядок элементов списка my_list на 50, 40, 30, 20, 10, выполним следующее:

# Исходный список my_list = [10,20,30,40,50]  # Перевернуть порядок элементов my_list.reverse()  print("This is what the list looks like now: ", my_list)  # Результат: # This is what the list looks like now:  [50, 40, 30, 20, 10]

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

Как перевернуть список в Python с помощью срезов

Срезы работают аналогично функции range(), которую мы разобрали ранее.

Срез также включает в себе три параметра: start, stop и step.

Синтаксис выглядит следующим образом: [start:end:step].

К примеру, давайте рассмотрим такой случай:

my_list = [10,20,30,40,50]  my_list2 = my_list[1:3:1]  print(my_list2)  # Результат #[20, 30]

В приведенном выше примере мы хотели получить каждый элемент из исходного списка, начиная с индекса 1 до индекса 3 (но не включая его!).

Примечание. Индексирование в Python начинается с 0, поэтому первый элемент имеет индекс 0, второй элемент имеет индекс 1 и так далее.

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

my_list = [10,20,30,40,50]  my_list2 = my_list[:]  # или...  my_list2 = my_list[::]  # Вывести в консоль print(my_list2)  # Результат # 10, 20, 30, 40, 50]

Итак, мы поняли, как использовать срезы для вывода всех элементов, содержащихся в списке.

Теперь, давайте разберемся, как же перевернуть наш список, используя срезы. Всё просто – давайте добавим шаг. И точно так же, как и с функцией range(), сделаем его отрицательным.

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

Рассмотрим на примере, как это работает:

my_list = [10,20,30,40,50]  my_list2 = my_list[::-1]  print(my_list2)  # Результат # [50, 40, 30, 20, 10]

В этом случае мы создаем новый список my_list2, при этом порядок исходного списка не изменяется.

Как перевернуть список в Python с помощью функции reversed()

Важно! Не путайте функцию reversed() с методом .reverse()!

Встроенная функция reversed() меняет порядок элементов списка на противоположный и позволяет нам обращаться к каждому элементу по отдельности.

К примеру, возьмем следующий список my_list:

my_list = [10,20,30,40,50]  for num in reversed(my_list):      print(num)      # Результат #50 #40 #30 #20 #10

Функция reversed() принимает список в качестве аргумента и возвращает нам исходные элементы, только в обратном порядке.

Если вы хотите сохранить возвращаемое значение из функции reversed() для дальнейшего использования, то нужно преобразовать результат в список с помощью функции list(). Далее необходимо присвоить получившееся выражение переменной, в нашем случае my_new_list.

# Исходный список my_list = [10,20,30,40,50]  # Используем функцию reversed() для изменения порядка элементов my_list # Сохраняем новый список, который создается, в переменную my_new_list my_new_list = list(reversed(my_list))  print(my_new_list) # Результат # [50, 40, 30, 20, 10]

Теперь в переменной my_new_list хранится перевёрнутый список my_list.

Важно заметить, что основное отличие метода .reverse() и функции reversed() заключается в том, что метод .reverse() меняет непосредственно исходный список. В то время как функция reversed() не изменяет сам исходный список, и полученное новое значение следует сохранять в новую переменную.

Заключение

Вот и все – теперь вы знаете основы работы с реверсированными списками в Python!

Мы подробно и на примерах разобрали, как перевернуть список в Python. Надеемся, что данная статья была вам полезной. Спасибо за чтение и успехов в написании кода!

Перевод статьи «Python Reverse List – How to Reverse a Range or Array».

kak perevernut spisok v python 9daecde - Как перевернуть список в Python

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

Скачать ×

  • 0 views
  • 0 Comment

Leave a Reply

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

    Связаться со мной
    Close