Како низови и листе функционишу у Питхону

Како низови и листе функционишу у Питхону

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





Предуслови

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





Док се следеће основне идеје могу применити на било који језик, ја ћу демонстрирати примере у Питхону. То је језик који се лако учи и пружа одличну платформу за разумевање шта се дешава. Уз то, туториалспоинт.цом пружа одличан Питхон интерпретер на мрежи - не морате чак ни да инсталирате Питхон ако не желите (ако желите, погледајте наш водич кроз виртуелна окружења).





Структуре података

Шта је а структура података ? На свом најосновнијем нивоу, структура података је начин ефикасног складиштења података. Лако се збунити јер структуре података нису типови података . Типови података говоре компајлеру (или у Питхон -овом случају тумачу) како се подаци намеравају користити. Структуре података специфицирају операције које се могу извести и често имплементирају одређена правила и прописе.

Можда сте чули за неке линеарни типови података (елементи су секвенцијални):



  • Арраи
  • Матрик
  • Лоокуп Табле

Слично, листе често садрже правила и методе којима се регулише њихов рад. Неке уобичајене листе су:

  • Повезана листа
  • Двоструко повезана листа
  • Листа низа или Динамички низ

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





Арраи

Почнимо од почетка. Низ је једноставна збирка (повезаних) вредности. Ове вредности се називају елементи. Обично могу бити било који тип података који вам се свиђа, укључујући објекте или друге листе! Главно упозорење у вези са низовима је да сви подаци морају бити исти - не можете складиштити мешовите низове и целе бројеве. ти скоро увек морате да наведете колико елемената желите да сачувате. Променљиве величине или динамички низови постоје, али низови фиксне дужине су једноставнији за почетак.

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





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Прва линија увози арраи модул - то је потребно за рад са низовима. Друга линија ствара нови низ који се зове бројеви и иницијализује га вредностима 2, 4, 6 и 8. Сваком елементу се додељује цео број вредност која се назива а кључ или индекс . Тастери почињу од нула , тако бројеви [0] приступиће првом елементу ( 2 ):

Можда се питате шта је 'ја' се користи за. Ово је типецоде који говори Питхону да ће низ складиштити целе бројеве. Овакве ствари обично не би биле потребне у Питхону (сматрало би се 'непистонским'). Разлог за то је једноставан. Низови у Питхону су врло танки омотач на основним Ц низовима вашег оперативног система. То значи да су брзи и стабилни, али се не морају увек придржавати Питхон синтаксе.

како да видим своје претплатнике на иоутубе -у

Не можете складиштити мешовите типове у ове низове. Рецимо да желите да сачувате низ „макеусеоф.цом“:

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Ово неће бити дозвољено и избациће изузетак:

Ево како можете одштампати све елементе:

print(numbers)

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

Сваки програмски језик ће имплементирати неку петљу, која је савршена за понављање (петље) преко елемената листе. Најчешће петље су док и за . Питхон чини ствари још лакшим пружајући за у петља:

for number in numbers:
print(number)

Обратите пажњу на то како нисте морали да приступите елементима по њиховом кључу. Ово је много бољи начин рада са низом. Алтернативни начин понављања листе је помоћу а за петља:

for i in range(len(numbers)):
print(numbers[i])

Ово ради потпуно исто као и претходни пример, иако сте морали да наведете број елемената у низу ( лен (аутомобили) ), заједно са пролазом и као кључ низа. Ово је скоро тачно код који за у петље трчање. Овај начин пружа нешто већу флексибилност и нешто је бржи (иако за у петље су више него довољно брзе већина времена.)

Листс

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

Листа је посебна врста низа. Највећа разлика је у томе што листе могу да садрже помешан типова (запамтите, низови морају садржавати елементе истог типа). Листе су у Питхону врло једноставне:

екран рачунара трепери укључивањем и искључивањем
cars = ['Ford', 'Austin', 'Lancia']

Обратите пажњу на то како не морате да увозите арраи модул?

Ова синтакса декларише листу која се назива аутомобили. Унутар углатих заграда, сваки елемент листе је декларисан. Сваки елемент је одвојен зарезом, а како је сваки елемент низ, декларишете их унутар наводника. Питхон зна да је ово објекат, па принт наредба ће приказати садржај листе:

print(cars)

Баш као и код низа, можете да понављате елементе листе помоћу петљи:

for car in cars:
print(car)

Прави партијски трик листа је њихов мешовити тип. Само напред и додајте неке додатне податке:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

За Питхон ово није проблем - није чак направио ни изузетак:

Лако је додати нове елементе на листу (нешто што није могуће са низовима):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Такође можете спојити две листе у једну:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Једнако је лако уклонити елементе помоћу уклонити синтакса:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

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

Објави Објави Твеет Емаил 5 савета за суперпуњење ваших ВиртуалБок Линук машина

Уморни сте од лоших перформанси које нуде виртуелне машине? Ево шта треба да урадите да бисте побољшали перформансе ВиртуалБок -а.

Прочитајте следеће
Повезане теме
  • Програмирање
  • Програмирање
  • Питхон
О аутору Јое Цобурн(136 објављених чланака)

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

Више од Јоеа Цобурна

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили