Как использовать Python для инвертирования списка или массива
Переворот массива — это распространенный метод, который вы можете использовать в игре или при отображении отсортированного списка. В Python есть несколько способов сделать это.
Обращение списка или массива — обычная задача программирования. Во многих случаях вам может потребоваться представить данные в обратном порядке, например при сортировке списка.
Как вы можете перевернуть список или массив с помощью Python? В этой статье вы узнаете о различных подходах.
Создайте копию с помощью цикла for
Хотя цикл for в Python более многословен, в некоторых случаях он может быть полезен. Например, это обеспечивает большую гибкость при выполнении сложной логики в некоторых точках обратной операции.
При использовании цикла for с отступом обычно используется обход исходного списка в обратном порядке. Начиная с последнего элемента, каждая итерация добавляет предыдущий элемент в новый список.
Если взять в качестве примера список целых чисел от одного до девяти, вот как можно перевернуть массив с помощью цикла for с отступом:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
<strong># Create an empty list to hold the reversed array:</strong>
reversed_list = []
<strong># Substract one from the length of the original array to start from the last index:</strong>
reducer = len(languages)-1
<strong># Reverse the list inside a for loop:</strong>
for i in languages:
reversed_list.append(languages[reducer]) <strong># Append the result to the empty list</strong>
reducer -=1 <strong># Decrease the index by one at each iteration using the reducer</strong>
print(reversed_list)
<strong>
Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Переверните список или массив, используя понимание списка
Понимание списка создает более короткий код. И нет необходимости во временной переменной, поскольку понимание списка действует на основе списка.
Чтобы выполнить предыдущую операцию, используя понимание списка:
reducer = len(languages)
<strong># Decrement the index within a range function using for loop in a list comprehension</strong>
Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)]
print(Reversed_list)
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Используйте оператор среза
Оператор среза списка довольно прост, хотя и имеет некоторые ограничения. Например, вы не сможете настроить вывод, как при использовании цикла for.
Вот как можно перевернуть список с помощью оператора среза:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = languages[::-1]
print(rev_list)
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Синтаксис [::-1] — это умный ярлык, позволяющий получить перевернутый список. На самом деле это означает «копировать каждый элемент списка, начиная с конца и считая в обратном порядке» — то есть «перевернуть его»!
Используйте обратный метод массива
Это еще один метод, который действует на месте: он изменяет исходный массив. Это может быть недостатком, поскольку вы не можете сохранить предыдущий список для других операций.
Вот как можно перевернуть массив, используя обратный метод:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
print(languages)
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Используйте обратную функцию
Обратная функция перебирает список, массив или любую другую последовательность и возвращает ее перевернутую копию. Однако вам необходимо явно объявить обратный вывод в виде списка.
Вот как это работает:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(reversed(languages)))
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Творческий подход к массивам
Массивы или списки — распространенные способы хранения данных. В зависимости от вашей цели вы можете представить данные клиенту в обратном порядке. Один из способов сделать это — перевернуть массив или список перед его отрисовкой. Как вы видели, в Python есть несколько способов инвертировать список. Выберите то, что лучше всего подходит вам и соответствует вашей логике решения конкретной проблемы.
Возможно, вам также захочется узнать, как перевернуть массив на других языках программирования, чтобы лучше понять фоновую логику.