Обратный список в Python

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

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

 

Метод reverse()

reverse() — это метод типа данных списка, который меняет местами элементы списка. Этот метод изменяет исходный список, а не создает новый.

Синтаксис метода reverse() следующий:

list.reverse()

 

reverse() не принимает аргументы.

 

Вот пример:

capitals = ['Краснодар', 'Москва', 'Ростов', 'Минск']



capitals.reverse()



print('Обратный список:', capitals)

Обратный список: ['Минск', 'Ростов', 'Москва', 'Краснодар']

 

Функция reversed()

reversed() — это встроенная функция Python, которая возвращает обратный итератор заданного итеративного объекта. Исходный список не изменяется.

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

Синтаксис функции reversed() следующий:

reversed(seq) 

 

Где seq находится список, который нужно вернуть?

Ниже приведен пример использования цикла reversed() по элементам списка в обратном порядке:

numbers = [1, 2, 3, 4]



for i in reversed(numbers) :

    print(i)

 

4

3

2

1

 

Если вы хотите преобразовать обратный итератор в список, используйте конструктор list():

numbers = [1, 2, 3, 4]



print(list(reversed(numbers)))

 

[4, 3, 2, 1]

 

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

Нотация среза — это встроенная функция Python, которая позволяет извлекать части последовательного типа данных. Хотя это и не очень Pythonic, вы можете использовать нотацию [::-1], перевернув список:

numbers = [1, 2, 3, 4]



print(numbers[::-1])

 

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

[4, 3, 2, 1]

 

Вывод

Чтобы перевернуть список Python на месте, используйте метод reverse(). Если вам нужно создать только обратный итератор, используйте функцию reversed().

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



2020-08-26T11:05:59
Python