Преокретање листе или низа је уобичајен задатак програмирања. Постоји много случајева када ћете можда морати да прикажете податке обрнутим редоследом, на пример када сортирате листу.
Како можете да обрнете листу или низ помоћу Питхон-а? Научићете различите приступе у овом чланку.
Направите копију помоћу петље фор
Док Пајтонова фор петља је опширнији, може бити згодно у неким случајевима. На пример, пружа већу флексибилност при извођењу сложене логике у неким тачкама у обрнутој операцији.
Када користите увучено за петљу, уобичајен приступ је понављање кроз оригиналну листу обрнутим редоследом. Почевши од коначног елемента, свака итерација затим додаје претходни елемент на нову листу.
Узимајући у обзир листу целих бројева између један и девет као пример, ево како да обрнете низ користећи увучено за петља:
језици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Направите празну листу да држите обрнути низ:
реверсед_лист = []# Одузмите један од дужине оригиналног низа да бисте почели од последњег индекса:
редуктор = лен (језици)-1# Преокрените листу унутар фор петље:
за ја на језицима:
реверсед_лист.аппенд (језици[редуцер]) # Додајте резултат на празну листу
редуктор -=1 # Смањи индекс за један на свакој итерацији користећи редуктор
штампа (реверсед_лист)
Излаз:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Обрните листу или низ помоћу разумевања листе
А разумевање листе производи краћи код. И нема потребе за привременом променљивом јер разумевање листе делује на листу која је на месту.
Да бисте извршили претходну операцију, користећи разумевање листе:
редуктор = лен (језици)
# Умањите индекс унутар функције опсега користећи фор петљу у разумевању листе
Реверсед_лист = [језици[редуцер] за редуктор у опсегу (редуцер -1,-1,-1)]
штампа (Реверсед_лист)
Излаз:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Користите Слице Оператор
Оператор пресека листе је прилично једноставан, иако има нека ограничења. На пример, можда нећете моћи да прилагодите излаз као када користите а за петља.
Ево како да обрнете листу користећи оператор слице:
језици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
рев_лист = језици[::-1]
штампа (рев_лист)
Излаз:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Тхе [::-1] синтакса је паметна пречица која доводи до обрнуте листе. То заправо значи "копирајте сваки елемент листе, почевши од краја и бројајући уназад" - тј. "обрните га"!
Користите обрнути метод низа
Ово је још један метод који делује на месту: он модификује оригинални низ. Ово може бити недостатак јер не можете задржати претходну листу за друге операције.
Ево како да обрнете низ користећи обрнути метод:
језици = [1, 2, 3, 4, 5, 6, 7, 8, 9]
лангуагес.реверсе()
штампа (језици)
Излаз:
[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]
Креативност са низовима
Низови или листе су уобичајени начини складиштења података. У зависности од вашег циља, можда ћете желети да представите податке клијенту обрнутим редоследом. Један од начина да то урадите је да обрнете низ или листу пре него што их прикажете. Као што сте видели, постоји неколико начина за инвертовање листе у Питхон-у. Изаберите оно што вам најбоље одговара и што је у складу са вашом логиком за одређени проблем.
Можда бисте такође желели да видите како да обрнете низ у другим програмским језицима да бисте боље разумели позадинску логику.
Како преокренути низ у Ц++, Питхон и ЈаваСцрипт
Реад Нект
Повезане теме
- Програмирање
- Програмирање
- Питхон
- Алгоритми
О аутору
Идову је страствен за све паметне технологије и продуктивност. У слободно време игра се са кодирањем и прелази на шаховску таблу када му је досадно, али такође воли да се с времена на време одвоји од рутине. Његова страст да људима покаже пут око модерне технологије мотивише га да пише више.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили