Как перевернуть строку в 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' >>>
Перевернуть список
Потому что метод 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,676 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


Добавить в избранное
(3 оценок, среднее: 3,67 из 5)

При работе со списками в 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().
Читать Превосходные инструменты для проверки сайта и мониторинга изменений
Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Обратный список Python
При работе со списками в Python иногда может потребоваться перевернуть элементы списка. Обратное преобразование списка означает, что первый элемент списка становится последним, второй — предпоследним, последний элемент становится первым и так далее.
В Python есть несколько разных способов перевернуть список, в зависимости от того, что вы пытаетесь сделать.
reverse() метод
reverse() — это метод типа данных списка, который меняет местами элементы списка. Этот метод изменяет исходный список, а не создает новый.
Синтаксис метода reverse() следующий:
list.reverse()
reverse() не принимает аргументы.
capitals = ['Oslo', 'Skopje', 'Riga', 'Madrid'] capitals.reverse() print('Reversed list:', capitals)
Reversed list: ['Madrid', 'Riga', 'Skopje', 'Oslo']
функция 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() .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.