Перевернуть список
Потому что метод 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).
Просто Лис
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().
Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.