Как перевернуть список python
Перейти к содержимому

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

  • автор:

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

Потому что метод reverse переворачивает список, но ничего не возвращает.

>>> a = [1, 2, 3] >>> a [1, 2, 3] >>> a.reverse() >>> a [3, 2, 1] 

если вы хотите чтобы функция возвращал перевернутый список не изменяя его — используйте функцию reversed (будьте внимательны, функция вернет итератор!)

>>> a = [1, 2, 3] >>> list(reversed(a)) [3, 2, 1] >>> a [1, 2, 3] 

Отслеживать
ответ дан 21 фев 2014 в 8:35
4,666 16 16 серебряных знаков 15 15 бронзовых знаков

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

for i in a[::-1]: print i,"\n" 

У print неявная конкатенация строк через запятую — туда можно и \n\n впихать, на версии 3 должно быть также.

В принципе, лучший ответ уже был дан — метод reversed (в противовес reverse()):

for i in reversed(a): print i 

Также, если я такой уж многословный, возможно вам нужна разновидность списка (stack — first in last out):

a = [66.25] a.append(333) a.append(333) a.pop() 333 a.pop() 333 a.pop() 66.25 

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

Стандартной функции для этой операции в Python нет. Но вариантов перевернуть строку несколько.

Переворачиваем строку в цикле:

>>> word = 'hello' >>> reversed_string = '' >>> for char in word: . reversed_string = char + reversed_string >>> reversed_string 'olleh' >>> 

Используем метод join() , чтобы собрать в строку перевёрнутый список:

>>> word = 'hello' >>> ''.join(reversed(word)) 'olleh' >>> 

Самый лаконичный способ перевернуть строку – использовать срез с отрицательным шагом:

>>> word = 'hello' >>> word[::-1] 'olleh' >>> 

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

Рекурсивно перевернуть список
Нужно с помощью РЕКУРСИИ и без использования глобальных перевернуть спиок.

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

Как перевернуть список?
1) Дан список чисел. Переверните его, не используя встроенную функцию reverse.

Как рекурсивно перевернуть список
попробуйте рекурсивно перевернуть список. Для этого напишите функцию recursive_reverse(some_list).

Просто Лис

Эксперт Python

5318 / 3332 / 1021
Регистрация: 17.05.2012
Сообщений: 9,765
Записей в блоге: 9

Лучший ответ

Сообщение было отмечено mik-a-el как решение

Решение

1 2 3 4 5 6
def f(ls): if not ls: return [] return [ls.pop()] + f(ls) print(f([1, 2, 3]))

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Рекурсивно перевернуть массив
Я могу рекурсивно вывести массив: #include <stdio.h> void revR (int* array, int n) < if.

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

Развернуть список рекурсивно
Я написал функцию которая должна рекурсивно развернуть список. Она не работает.Помогите пожалуйста.

Вывод список файлов рекурсивно
Компилятор ругается на 19 и 22 строку аргумент 1 требует wchar_t*. Как перевести на wchar_t*? .

Рекурсивно развернуть односвязный список
Пытаюсь разобраться в какой момент происходит разворачивание списка и как 1->2->3->4->5->nullptr .

Обратный список в 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().

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

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

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