Програмирање

Све о Питхон листама

Све о Питхон листама

Питхон има много врста података као што су цели број, флоат, низ, листа, корпа итд. У овом упутству ћемо научити о типу података листе. Листе су један од најчешће коришћених типова података питхона и могу се користити за многе операције. 

Да бисте се придржавали овог упутства, препоручује се инсталирање најновије верзије питхон-а у вашем систему. Можете пратити наш водич за инсталирање најновије верзије питхон-а. Већина кода у овом упутству може се покренути у љусци питхон, али препоручљиво је имати ИДЕ за писање питхон кода. Можете да погледате наше поређење у првих 10 ИДЕ за писање кода.

Увод у Питхон листе

Питхон листе су колекције произвољних објеката одвојених зарезом у угластим заградама попут низова у Ц ++, јавасцрипту и многим другим програмским језицима. Али разлика је у томе што питхон листа може да садржи различите врсте података на истој листи. 

Пример:

>>> листа1 = [1, 2, 3, 4]
>>> лист2 = ["здраво", "ово", "је", "а", "листа"]
>>> лист3 = ["здраво", 100, "пута"]
>>> листа1
[1, 2, 3, 4]
>>> листа2
['здраво', 'ово', 'је', 'а', 'листа']
>>> листа3
['здраво', 100, 'пута']

Направили смо три листе, наиме. лист1, лист2 и лист3. Листа1 садржи све своје ставке целобројног типа података, листа2 две садржи све ставке низа података, док листа3 садржи и целобројне и низове података.

Питхон листе су поређане

Питхон листе су поредане, што значи да морамо гледати редослед приликом креирања листа, јер ће две листе са истим елементима, али различитим редоследима, Питхон тумач различито третирати.

Пример:

>>> листа1 = [1, 2, 3, 4]
>>> листа2 = [4, 3, 2, 1]
>>> листа3 = [1, 2, 3, 4]
>>> листа1 == листа2
Нетачно
>>> листа1 == листа3
Истинито

Из кода видимо да лист1 и лист2, који садрже исте елементе у различитим редоследима, нису једнаки за питхон као што је проверио оператор == (једнак).

Приступ ставкама списка

Ставкама на списку можемо приступити на више начина.

Индексирање

Индексирање можемо користити за приступ елементу са листе. У питхону индексирање започиње са 0, тако да се првом елементу може приступити давањем индекса 0. Индекс можемо дати на питхон листи давањем броја индекса у угластим заградама [] на крају имена променљиве листе. 

Пример:

>>> лист1 = ["здраво", "ово", "је", "а", "листа"]
>>> лист1 [0]
'Здраво'
>>> листа1 [2]
'је'
>>> листа1 [4]
'листа'

Питхон индексирање почиње на 0, па дајте индекс као 0 за приступ првом елементу, 1 за приступ другом елементу.

Да би приступио елементу давањем индексног броја елемента који није присутан, Питхон ће покренути индексну грешку.

>>> лист1 [5] Трацебацк (последњи последњи позив):
Филе "", ред 1, у
ИндекЕррор: индекс листе је изван опсега
>>>

У коду сам листу индекса дао број 5, што је ван опсега јер лист1 садржи само пет елемената са бројем индекса од 0 до 4, тако да добијамо индексну грешку.

Негативно индексирање

Питхон такође има подршку за негативно индексирање. То значи да као индекс имамо негативан број. Користећи га, можемо приступити ставкама од последњег коришћења. Индекс -1 значи последњи елемент. Број индекса -2 значи други последњи елемент итд. 

Пример:

>>> лист1 = ["здраво", "ово", "је", "а", "листа"]
>>> листа1 [-1]
'листа'
>>> листа1 [-2]
'а'
>>> листа1 [-4]
'ово'
>>> листа1 [-5]
'Здраво'

У коду је врло лако приступити ставкама листе са последње. Ово је корисно за дугачке листе на којима не знамо број предмета.

Резање

Коришћењем индексирања можемо истовремено да приступимо само једном елементу, али понекад нам треба део листе или подређена листа. То се може урадити помоћу оператора за резање. Морамо да проследимо два индексна броја у углату заграду одвојену тачком и зарезом да бисмо обавили резање. Први индексни број је први елемент подређене листе, а други индексни број је последњи елемент подређене листе којој желимо приступити. 

Пример:

# креирање листа
лист1 = [101, 200, 113, 194, 999]
испис (лист1 [0: 3])
испис (лист1 [1:])
испис (лист1 [1: 4])
испис (лист1 [:])

Излаз:

резање жица

Промена вредности листа

Вредности листе можемо лако променити помоћу индексирања, што смо научили у претходним темама.

На пример: Претпоставимо да смо креирали листу са следећим подацима.

>>> година = [2016, 2017, 2018, 2019, 2021]
>>> година
[2016, 2017, 2018, 2019, 2021]

Желимо да променимо 2021. у 2020. годину; то можемо учинити помоћу следећег кода. Користили смо индексирање и оператор доделе да бисмо променили вредност предмета индексним бројем 4, тј.е., пети елемент.

>>> година [4] = 2020
>>> година
[2016, 2017, 2018, 2019, 2020]

Из кода, вредност се променила од 2021. до 2020. променљиве листе назване год.

Додавање елемената на листе

Елементе на листу можемо додати на више начина. Неке од популарних техника су разматране у наставку.

Користећи методу аппенд ()

Функција аппенд () је уграђена функција питхона, која може додати елемент на крају листе. Такође можемо проследити листу на листу помоћу функције аппенд (). 

Пример:

# је креирао листу воћа
воће = ["јабука", "манго", "банана"]
штампа (воће)
# додавање кивија у плодове
воће.додати ("киви")
штампа (воће)
# додавање грожђа у плодове
воће.додати ("грожђе")
штампа (воће)

Излаз:

функција аппенд ()

Видимо да су вредности додате на листу, али помоћу ове методе можемо додати само једну ставку на листу. Да бисмо додали више елемената на крај листе, треба да користимо проширити функцију.

Коришћењем методе ектенсион ()

Овај метод је сличан методу аппенд (); једина разлика је у томе што помоћу листе можемо додати више елемената одједном на листу. 

Пример:

# је креирао листу воћа
воће = ["јабука", "манго", "банана"]
штампа (воће)
# додавање воћа истовремено и кивија и грожђа
воће.продужити (["грожђе", "киви"])
штампа (воће)

Излаз:

функција ектенсион ()

У излазу можемо видети да су обе ставке истовремено додате на листу методом ектенсион ().

Коришћењем методе инсерт ()

Горе наведене две функције додају елементе на крају листе. Понекад треба да додамо елемент на одређеној позицији. То се може учинити употребом функције инсерт (). Прихвата два аргумента, један је позиција, а други вредност коју желимо да убацимо.

Пример:

# је креирао листу воћа
воће = ["јабука", "манго", "банана"]
штампа (воће)
# додавање грожђа на треће место воћа
воће.уметак (2, "грожђе")
штампа (воће)
# додавање грожђа на пету позицију воћа
воће.уметак (4, "киви")
штампа (воће)

Излаз:

функција инсерт ()

Основне листе операција

Можемо изводити широк спектар операција на питхон листама. Неке од основних корисних операција приказане су у наставку.

Придруживање листама

Постоји много начина помоћу којих можемо повезати или придружити листе заједно. Најлакши начин је коришћење + оператора. 

Пример:

# креирање две листе
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
лист2 = ['Ово', 'је', 'оно', 'друго', 'списак']
# спајање две листе
лист3 = листа1 + листа2
испис (лист3)

Излаз:

спајање две жице

Такође можемо додати две листе користећи методу ектенсион () о којој смо претходно разговарали. Морамо прослиједити другу ист као аргумент за проширење методе () објекта лист1, а двије листе ће се спојити. 

Пример:

# креирање две листе
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
лист2 = ['Ово', 'је', 'оно', 'друго', 'списак']
# спајање две листе методом ектенсион ()
лист1.продужити (лист2)
испис (лист1)

Излаз:

спајање два низа помоћу функције ектенсион ()

Прелистајте спискове

Тхе за петље о којој се говори у водичу, све што треба да знате о петљи може се користити за пролазак кроз листу. Прелиставање листе може бити корисно за приступ појединачним подацима са листе. 

Пример:

# креирање листа
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
# прелиставање листе
за ставку у листи1:
испис (ставка)

Излаз:

понављање листе

Проверите да ли ставка постоји

Такође можемо да проверимо да ли нека ставка постоји на листи у питхон-у. Да бисмо то урадили, треба да користимо „Ин“ кључна реч питхон. 

Пример:

>>> воће = ["јабука", "манго", "банана"]
>>> „манго“ у воћу
Истинито
>>> "киви" у воћу
Нетачно
>>> "јабука" у воћу
Истинито
>>> „банана“ није у воћу
Нетачно

Ми користимо у кључна реч за лако препознавање да ли је нека ставка присутна на листи или не. Такође смо користили кључну реч нот са кључном речи ин да бисмо проверили да ли нека ставка није присутна на листи.

Дужина спискова

Морамо израчунати дужину листе да бисмо пронашли број предмета садржаних на листи. Видећемо две методе. Најлакши начин је коришћење уграђене функције лен () питхона. 

Пример:

# креирање листа
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
# израчунавање дужине листе
дужина = лен (лист1)
принт ("Дужина листе је:", дужина)

Излаз:

дужина списка помоћу функције лен ()

Такође можемо користити питхон за петља за израчунавање дужине листе. Да бисте израчунали дужину листе помоћу петље фор, покрените следећи код.

# креирање листа
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
дужина = 0
# израчунавање дужине листе
за ставке у листи1:
дужина = дужина + 1
принт ("Дужина листе је:", дужина)

Излаз:

дужина листе помоћу петље фор

Избриши елементе листе

Можемо избрисати елемент са листе помоћу две методе, тј.е., користећи методу ремове () и поп ().

Метода поп () прихвата индексни број ставке коју желимо да уклонимо са листе. 

Пример:

# креирање листа
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
# уклањање другог елемента са листе
лист1.уклони ("је")
испис (лист1)

Резултат: Имаћемо „је“ уклоњено са листе. 

брисање помоћу функције ремове ()

Функције ремове () такође раде на исти начин, али ставци треба да дамо аргумент уместо индексног броја.

Пример:

# креирање листа
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
# уклањање елемента прослеђивањем индексног броја
лист1.поп (2)
испис (лист1)

Резултат: Овај програм ће уклонити елемент са индексним бројем 2 са листе. 

брисање помоћу функције поп ()

Уграђене методе на листама

У питхон-у постоји много уграђених метода које се могу користити током манипулације листама. Неке од функција о којима смо разговарали укључују инсерт (), аппенд (), поп (), ремове (), лен () итд. Ево још неколико.

јасно()

Метода цлеар () са питхон листе користи се за брисање листе, тј.е., уклањање сваког елемента са листе. 

Пример:

>>> лист1 = [1, 2, 3, 4] # је креирао листу
>>> листа1
[1, 2, 3, 4]
>>> листа1.цлеар () # Листа ће сада постати празна
>>> листа1
[]

копирај ()

Метода цопи () користи се за генерисање копије листе. 

Пример:

# креирање листа
лист1 = ['Ово', 'је', 'оно', 'прво', 'списак']
лист2 = лист1.копирај ()
испис (лист2)

Излаз: Копирали смо листу1 у листу2 помоћу функције цопи (). 

цопи () функција листе

цоунт ()

Функција цоунт () објекта листе користи се за бројање појављивања ставке у аргументу.

Пример:
# креирање листа
лист1 = ['јабука', 'грожђе', 'манго', 'јабука', 'јабука']
# бројање броја појављивања јабуке
цоунт = лист1.цоунт ('јабука')
принт ("Број појављивања предмета је:", броји)

Резултат: Добићемо број појављивања ставке јабука на листи. 

цоунт () метода листе

индекс ()

Функција индек () користи се за добивање индекса прве подударне ставке као аргумента функције.

Пример:

# креирање листа
лист1 = ['јабука', 'грожђе', 'манго', 'јабука']
# бројање броја појављивања јабуке
индек = лист1.индекс ('јабука')
принт ("Први индекс ставке је:", индекс)

Излаз:

индек () метода листе

обрнуто ()

Метода реверсе () користи се за преокретање редоследа листе. 

Пример:

# креирање листа
лист1 = [1, 2, 3, 4]
# преокретање листе
лист1.обрнуто ()
испис (лист1)

Излаз:

реверзна () метода листа

врста()

Функција сорт () користи се за сортирање ставки на листи. 

Пример:

# креирање листа
лист1 = [101, 200, 113, 194, 999]
# сортирај листу
лист1.врста()
испис (лист1)

Излаз:

сортирање листе

мак ()

Функције мак () вратит ће максимум са дате листе. 

Пример:

# креирање листа
лист1 = [101, 200, 113, 194, 999]
# максимум листе
максимум = максимум (листа1)
принт ("Први индекс ставке је:", максимум)

Излаз:

проналажење максимума листе

мин ()

Функција мин () је слична функцији мак (), али уместо да врати максималну вредност, вратиће минимум.

Закључак

У овом упутству смо научили све потребне концепте питхон листа. Такође ћете можда желети да видите целокупан водич о стринговима у питхону.

Како променити показивач миша и величину, боју и шему курсора на Виндовс 10
Показивач миша и курсор у оперативном систему Виндовс 10 су врло важни аспекти оперативног система. То се може рећи и за друге оперативне системе, так...
Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...
Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...