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