Kaip masyvai ir sąrašai veikia „Python“

Kaip masyvai ir sąrašai veikia „Python“

Masyvai ir sąrašai yra viena iš naudingiausių duomenų struktūrų programuojant - nors tik nedaugelis žmonių išnaudoja visas savo galimybes. Šiandien aš jums pasakysiu apie pagrindus ir keletą paprastų „Python“ pavyzdžių.





Būtinos sąlygos

Norint išmokti šių sąvokų, nereikia daug žinoti iš anksto. Pagrindinės programavimo paradigmų ir „Python“ žinios bus naudingos, tačiau tai nėra būtina. Skaitykite mūsų Pagrindiniai „Python“ pavyzdžiai jei nežinai nuo ko pradėti. Jei manote, kad „Python“ yra nenaudinga kalba, patikrinkite mūsų priežastis, kodėl taip nėra.





Nors šios pagrindinės idėjos gali būti pritaikytos bet kuriai kalbai, aš parodysiu pavyzdžius „Python“. Tai lengva išmokti kalba ir yra puiki platforma suprasti, kas vyksta. Be to, tutorialspoint.com suteikia puikų internetinį „Python“ vertėją - jums net nereikia diegti „Python“, jei nenorite (jei norite, peržiūrėkite mūsų virtualios aplinkos vadovą).





Duomenų struktūros

Kas yra a duomenų struktūra ? Pačiame pagrindiniame lygmenyje duomenų struktūra yra būdas efektyviai saugoti duomenis. Lengva supainioti, nes duomenų struktūros nėra duomenų tipai . Duomenų tipai kompiliatoriui (arba „Python“ atveju - vertėjui) nurodo, kaip ketinama naudoti duomenis. Duomenų struktūros nurodo operacijas, kurias galima atlikti, ir dažnai įgyvendina konkrečias taisykles ir reglamentus.

Galbūt girdėjote apie kai kuriuos linijinis duomenų tipai (elementai yra nuoseklūs):



  • Masyvas
  • Matrica
  • Apžvalgos lentelė

Panašiai, sąrašus dažnai pateikiamos taisyklės ir metodai, kaip reguliuoti jų veikimą. Kai kurie bendri sąrašai yra šie:

  • Susietas sąrašas
  • Dvigubai susietas sąrašas
  • Masyvo sąrašas arba dinaminis masyvas

Yra daugybė skirtingų duomenų struktūrų. Galbūt girdėjote dvejetainiai medžiai , grafikus , arba maišos . Šiandien aptarsiu pagrindinius dalykus, bet galbūt norėsite sužinoti daugiau, kai jums bus patogu.





Masyvas

Pradėkime nuo pradžių. Masyvas yra paprastas (susijusių) verčių rinkinys. Šios vertės vadinamos elementais. Paprastai tai gali būti bet koks jums patinkantis duomenų tipas, įskaitant objektus ar kitus sąrašus! Pagrindinis įspėjimas su masyvais yra tas, kad visi duomenys turi būti vienodi - negalima laikyti mišrių eilučių ir sveikųjų skaičių. Tu beveik visada turite nurodyti, kiek elementų norite išsaugoti. Kintamo dydžio arba dinaminiai masyvai egzistuoja, tačiau fiksuoto ilgio masyvus pradėti paprasčiau.

„Python“ viską šiek tiek apsunkina. Tai labai palengvina jūsų darbą, tačiau ne visada laikomasi griežtų duomenų struktūrų apibrėžimų. Dauguma „Python“ objektų paprastai yra sąrašai, todėl masyvo kūrimas iš tikrųjų yra daugiau darbo. Štai keletas pradinio kodo:





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

Pirma eilutė importuoja masyvas modulis - to reikia norint dirbti su masyvais. Antroji eilutė sukuria naują masyvą, vadinamą skaičių ir inicijuoja jį reikšmėmis 2, 4, 6 ir 8. Kiekvienam elementui priskiriamas an sveikasis skaičius vertė, vadinama a Raktas arba indeksas . Raktai prasideda nuo nulis , taigi skaičiai [0] pasieks pirmąjį elementą ( 2 ):

Jums gali būti įdomu, kas yra 'aš' yra naudojamas. Tai yra tipo kodą tai nurodo „Python“, kad masyvas išsaugos sveikuosius skaičius. Tokio dalyko „Python“ paprastai nereikėtų (tai būtų laikoma „nepytonišku“). To priežastis paprasta. „Python“ masyvai yra labai plonas aplankas, esantis jūsų operacinės sistemos C masyvuose. Tai reiškia, kad jie yra greiti ir stabilūs, tačiau jie ne visada gali laikytis „Python“ sintaksės.

kaip atšaukti neribotą „Kindle“

Šiuose masyvuose negalima laikyti mišrių tipų. Tarkime, kad norėjote išsaugoti eilutę „makeuseof.com“:

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

Tai nebus leidžiama ir bus išimtis:

Štai kaip galite spausdinti visus elementus:

print(numbers)

Šis prieigos prie masyvo elementų metodas veikia gerai ir puikiai tinka tinkamoms užduotims atlikti. Tai, kas netinka, yra prieiga prie viso masyvo. Programuotojai iš prigimties yra tingūs, todėl mielai parašysiu daugiau, geresnio kodo, jei tai reiškia, kad galiu palengvinti priežiūrą ir sumažinti kopijavimo bei įklijavimo pastangas.

Kiekviena programavimo kalba įgyvendins tam tikrą kilpą, kuri puikiai tinka iteracijai (ciklui) per sąrašo elementus. Dažniausiai pasitaikančios kilpos yra tuo tarpu ir dėl . „Python“ dar labiau palengvina užduotį pateikdama kilpa:

for number in numbers:
print(number)

Atkreipkite dėmesį, kaip jums nereikėjo pasiekti elementų pagal jų raktą. Tai daug geresnis būdas dirbti su masyvu. Alternatyvus sąrašo kartojimo būdas yra a dėl kilpa:

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

Tai daro tą patį, ką ir ankstesniame pavyzdyje, nors turėjote nurodyti masyvo elementų skaičių ( len (automobiliai) ), kartu su pravažiavimu i kaip masyvo raktas. Tai beveik toks kodas veikia kilpos. Šis būdas suteikia šiek tiek daugiau lankstumo ir yra šiek tiek greitesnis (nors kilpos yra daugiau nei pakankamai greitos dauguma laiko.)

Sąrašai

Dabar, kai žinote, kaip veikia masyvai, pažvelkime į sąrašą. Kartais tai gali būti painu, nes žmonės pakaitomis naudoja skirtingą terminiją ir sąrašus yra masyvai ... savotiški.

Sąrašas yra ypatingas masyvo tipas. Didžiausias skirtumas yra tas, kad sąrašuose gali būti sumaišyti tipai (atminkite, kad masyvuose turi būti to paties tipo elementų). Sąrašai „Python“ yra labai paprasti:

gauti ip adresą android wifi problema connectify
cars = ['Ford', 'Austin', 'Lancia']

Atkreipkite dėmesį, kaip jums nereikia importuoti masyvas modulis?

Ši sintaksė skelbia sąrašą, vadinamą automobiliais. Kvadratinių skliaustų viduje deklaruojamas kiekvienas sąrašo elementas. Kiekvienas elementas yra atskirtas kableliu, ir kadangi kiekvienas elementas yra eilutė, jūs deklaruojate juos kabutėse. Python žino, kad tai yra objektas, todėl spausdinti sakinyje bus pateiktas sąrašo turinys:

print(cars)

Kaip ir masyvo atveju, sąrašo elementus galite pakartoti naudodami kilpas:

for car in cars:
print(car)

Tikrasis sąrašų vakarėlių triukas yra jų mišrus tipas. Pirmyn ir pridėkite papildomų duomenų:

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

Tai nėra problema „Python“ - ji net nepadarė išimties:

Į sąrašą lengva įtraukti naujų elementų (to negalima padaryti naudojant masyvus):

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

Taip pat galite sujungti du sąrašus į vieną:

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

Taip pat lengva pašalinti elementus naudojant pašalinti sintaksė:

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

Tai apima „Python“ sąrašų ir masyvų pagrindus. Kodėl gi ne pagalvojus apie kodavimo projektą, pvz., Skaitymą ir rašymą „Google“ skaičiuoklėse, „json“ duomenų skaitymą. Galbūt galėtumėte panaudoti savo naujus įgūdžius pasirinktiniai spartieji klavišai . Nepaisant skirtingų programavimo kalbų, šie masyvo principai vis dar galioja.

Dalintis Dalintis „Tweet“ Paštu 5 patarimai, kaip perkrauti „VirtualBox Linux“ mašinas

Pavargote nuo prastų virtualių mašinų našumo? Štai ką turėtumėte padaryti, kad padidintumėte „VirtualBox“ našumą.

Skaityti toliau
Susijusios temos
  • Programavimas
  • Programavimas
  • Python
Apie autorių Joe Coburn(Paskelbti 136 straipsniai)

Joe yra baigęs informatikos studijas Linkolno universitete, JK. Jis yra profesionalus programinės įrangos kūrėjas, o kai neskraido bepiločiais orlaiviais ir nerašo muzikos, jį dažnai galima rasti fotografuojant ar kuriant vaizdo įrašus.

Daugiau iš Joe Coburn

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia