Переворот итерируемых объектов нарезкой

Опубликован: 05.09.2023 120

Наиболее быстрый и эффективный трюк в Python, позволяющий перевернуть итерируемый и индексируемый объект (строку, список, кортеж и др.), т.е. вывести его элементы в обратном порядке, это использование функции среза с отрицательным шагом__ (-1).

# переворачивание строки с помощью среза
string = "PYTHON - самый популярный язык программирования!"
print( string[ : : -1] )
!яинавориммаргорп кызя йынрялупоп йымас - NOHTYP

# переворачивание списка срезом
a_list = ['Роман', 'Владимир', 'Александр']
revers_list = a_list[ : : -1]
print(revers_list)
['Александр', 'Владимир', 'Роман']

Общий синтаксис среза: sequence[start : stop : step].

  • start начальный индекс последовательности (sequence), по умолчанию равен 0;
  • stop конечный индекс, по умолчанию соответствует длине последовательности;
  • step шаг выборки элементов, по умолчанию равен 1.

Для вывода итерируемой последовательности в обратном порядке (начиная с конечного элемента) достаточно использовать отрицательные значения step:

  • step = -1 выводит все элементы последовательности в обратном порядке;
  • step = -2 выводит каждый второй элемент последовательности в обратном порядке и так далее...

Похожие посты

Использование срезов для манипулирования объектами в Python

Методы преобразования списка в строку и обратно

Удаление дубликатов из списка

Фильтрация элементов итератора с помощью bool-списка функции itertools.compress()

Комментариев нет.