У Питхону, листе су уређене колекције. Они су важна компонента програмског кода. Листе се односе на уграђене језичке објекте. Уз њихову помоћ, можете брзо и ефикасно обрадити велику количину информација и структура података било које сложености.
Листе су флексибилне и променљиве. тип података. Могу бити произвољне дужине и неограничене количина информација. Као елементи секвенце дозвољено је коришћење низова, једноставних и реалних бројева, речника. Свака променљива листе у Питхон-у се може посебно третирати, избрисати или заменити.
Листе имају специфичан скуп својстава који их разликује од других типова података:
Листе се могу погрешно протумачити за повезане структуре података. Али у стварности то су контејнери референци на објекте, а не њихове копије. Они су као адресар. Сви елементи листе указују на локацију жељеног објекта. У овом, Питхон листе су сличне Ц низовима, али су имплементиране у интерпретеру.
Формално постоје три категорије података на језику. То су бројеви, мапе и секвенце којима припада тип листе. За сваку групу постоји заједнички скуп операција. На пример, збрајање, одузимање и множење за нумеричке објекте или приступ кључу за речнике.
Секвенце такође имају своје карактеристичне операције:
Листе имају шири спектар могућности од стрингова у Питхону. То је моћан развојни алат са више специфичних функција које се примењују само за листу типова.
Како изгледају методе пописа у пракси:
Када вршите конкатенацију на свакој страни знака "+", секвенце истог типа морају се наћи, иначе ће преводилац приказати поруку о грешци:
Да бисте додали низ и листу у Питхон-у, потребно је извршити прелиминарну конверзију за стр тип:
Када креирате листу у Питхону, морате се придржавати строгих правила синтаксе. Сваки објекат мора бити затворен у углате заграде, а ставке су одвојене зарезима.
Понављање је процес понављања. У контексту листа, то је алтернативни напредак кроз елементе објекта који се понавља. На пример:
Ако је итерација само обилазак сваког елемента, онда је генерација процес креирања новог објекта листе типова. У Питхону, генератори листи изгледају као петље, али раде брже и синтактички изгледају много једноставније:
У оба примера, резултат је идентичан. Али коришћењем генератора, код је много краћи и лакши. Овај приступ је у потпуности у складу са Зен Зен од Питхона. То је Зен, или код језика, у којем се каже: "Једноставно је боље него компликовано"
Ове две операције су сличне по изгледу и омогућавају вам да рукујете појединачним ставкама листе у Питхону. Али постоји значајна разлика. Као резултат индексирања, враћа се посебан дио секвенце. А вађење пресека ствара нови објекат листе:
Језички конструкти омогућавају не само да се извлаче, већ и промене појединачни елементи, додељујући им нове вредности. Као резултат, враћа се иста листа, само са другом варијаблом. Ова операција је слична додели на индексу на језику Ц. Интерпретер замењује стару референцу на објекат наведен у офсету са новим:
Ово је прилично компликована операција, која се одвија у неколико фаза. Прво, интерпретер брише све елементе лево од оператора. У овом примеру, ово је "један" и "осам". Затим се сви објекти десно од оператера убацују у листу, почевши од леве ивице.
Описани процес обезбеђује флексибилан рад са резовима. Број елемената које треба уклонити и додати може варирати. Операција је погодна за уклањање и замену објеката, као и за проширивање листа. Ово је прилично моћан начин за обраду кода. Међутим, програмери га ретко користе у пракси, преферирајући једноставније уметање, поп и уклањање инструкција.
Већина метода или функција има за циљ директно мијењање објекта. Најчешћи је .аппенд (). Додаје ставке на крај листе:
Други једнако популаран метод се зове сорт (). Намењен је за сортирање листа у Питхону. Метода реордира елементе користећи операторе стандардног поређења. Такође се може користити за сложеније задатке користећи именоване аргументе:
Примјер је користио синтаксу "наме = валуе" за просљеђивање поставки. Кључни аргумент вам омогућава да подесите сопствене параметре за поређење. У овом случају, ово су елементи са малим словом. Обрнуто значи "супротно", тј. У опадајућем редоследу, не повећавајући се.
Када радите са овим методама, треба размотрити следеће функције: .сорт () и .аппенд () променити листу, али је не враћате. Конструкција ми_лист = Лист.сорт () нема смисла или резултата. Зато су у најновијим верзијама језика програмери увели функцију сортед (), која узима листу као аргумент:
Питхон нуди додатне методе за обављање специјализоване обраде листе. На пример, обрнуто се користи за промену редоследа елемената. Да бисте на крају уметнули више елемената или избрисали, потребне су вам методе за проширење и поп. Постоји и обрнута функција која подсећа на сортирање, али се користи преко позива на листи:
Све разматране операције се најчешће примјењују на листе и основне су. Али постоје високо специјализоване методе. На пример, .цопи (), која ствара плитку копију објекта, и .цоунт (), који враћа број елемената. Да бисте видели целу листу функција доступних у Питхону које су применљиве на објекат листе, потребно је да унесете хелп () или дир () у преводиоцу.