Обръщането на списък или масив е често срещана задача за програмиране. Има много случаи, когато може да се наложи да представите данни в обратен ред, като например при сортиране на списък.
Как можете да обърнете списък или масив с Python? Ще научите различните подходи в тази статия.
Създайте копие с цикъл for
Докато Цикъл for на Python е по-подробно, може да е полезно в някои случаи. Например, той осигурява повече гъвкавост при изпълнение на сложна логика в някои точки от обратната операция.
При използване на отстъп за цикъл, обичайният подход е да се итерира през оригиналния списък в обратен ред. Започвайки с последния елемент, всяка итерация след това добавя предишния елемент към нов списък.
Като се има предвид списък с цели числа между едно и девет като пример, ето как да обърнете масив с помощта на отстъп за цикъл:
езици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Създайте празен списък, за да задържите обърнатия масив:
reversed_list = []# Извадете едно от дължината на оригиналния масив, за да започнете от последния индекс:
редуктор = len (езици)-1# Обърнете списъка в цикъл for:
за мен на езици:
reversed_list.append (езици[редуктор]) # Добавете резултата към празния списък
редуктор -=1 # Намалете индекса с едно на всяка итерация, като използвате редуктор
печат (обърнат_списък)
Изход:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Обърнете списък или масив с помощта на разбиране на списъка
А разбиране на списъка произвежда по-кратък код. И няма нужда от временна променлива, тъй като разбирането на списъка действа върху списък на място.
За да извършите предишната операция, като използвате разбиране на списък:
редуктор = len (езици)
# Намалете индекса в рамките на функция за диапазон, като използвате цикъла for в разбирането на списък
Reversed_list = [езици[редуктор] за редуктор в диапазон (редуктор -1,-1,-1)]
печат (Reversed_list)
Изход:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Използвайте Slice Operator
Операторът за срез на списък е доста ясен, въпреки че има някои ограничения. Например, може да не сте в състояние да персонализирате изхода, както бихте направили, когато използвате a за цикъл.
Ето как да обърнете списък с помощта на оператора срез:
езици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = езици[::-1]
печат (rev_list)
Изход:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
В [::-1] синтаксисът е умен пряк път, който води до обърнат списък. Това всъщност означава „копиране на всеки елемент от списъка, като се започне от края и се брои назад“ — т.е. „обърнете го“!
Използвайте обратния метод на масив
Това е друг метод, който действа на място: той променя оригиналния масив. Това може да е недостатък, тъй като не можете да запазите предишния списък за други операции.
Ето как да обърнете масив с помощта на обратния метод:
езици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
печат (езици)
Изход:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Използвайте обърнатата функция
Обратната функция итерира списък, масив или всяка друга последователност и връща обратното копие. Въпреки това, трябва изрично да декларирате обърнатия изход като списък.
Ето как работи:
езици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
печат (списък (обърнат (езици)))
Изход:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Да станем креативни с масивите
Масивите или списъците са често срещани начини за съхранение на данни. В зависимост от вашата цел, може да искате да представите данни на клиента в обратен ред. Един от начините да направите това е да обърнете масива или списъка, преди да го изобразите. Както видяхте, има няколко начина за инвертиране на списък в Python. Изберете това, което работи най-добре за вас и е в съответствие с вашата логика за конкретен проблем.
Може също да искате да видите как да обърнете масив на други езици за програмиране, за да разберете по-добре фоновата логика.
Как да обърнете масив в C++, Python и JavaScript
Прочетете Следващото
Свързани теми
- Програмиране
- Програмиране
- Python
- Алгоритми
За автора
Idowu е страстен за всичко, което е интелигентна технология и производителност. В свободното си време той играе наоколо с кодирането и преминава към шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате