Sådan fungerer matriser og lister i Python

  • Edmund Richardson
  • 0
  • 3044
  • 565
Reklame

Arrays og lister er nogle af de mest nyttige datastrukturer i programmering - selvom få mennesker virkelig bruger dem til deres fulde potentiale. I dag skal jeg tale dig gennem det grundlæggende sammen med nogle enkle Python-eksempler.

Forudsætninger

Der er ikke meget, du har brug for at vide forud for at lære disse koncepter. En grundlæggende viden om programmeringsparadigmer og Python vil være nyttig, men det er ikke påkrævet. Læs vores grundlæggende Python-eksempler 10 grundlæggende Python-eksempler, der vil hjælpe dig med at lære hurtigt 10 grundlæggende Python-eksempler, der vil hjælpe dig med at lære hurtigt Denne artikel med grundlæggende python-eksempler er for dem, der allerede har en vis programmeringserfaring og blot ønsker at skifte til Python så hurtigt som muligt. hvis du ikke ved, hvor du skal starte. Hvis du synes Python er et nytteløst sprog, så tjek vores grunde til, at det ikke er 5 grunde til, at Python-programmering ikke er nytteløst 5 grunde til, at Python-programmering ikke er nytteløs Python - Du elsker enten det, eller du hader det. Du kan endda svinge fra den ene ende til den anden som en pendul. Uanset hvad er Python et sprog, der er svært at være ambivalent med. .

Mens følgende grundlæggende ideer kan anvendes på ethvert sprog, demonstrerer jeg eksemplerne i Python. Det er et let sprog at lære og giver en fremragende platform til at forstå, hvad der foregår. Derudover giver tutorialspoint.com en fremragende online Python-tolk - du behøver ikke engang at installere Python, hvis du ikke vil (hvis du gør det, se vores guide til virtuelle miljøer. Lær hvordan du bruger Python Virtual Miljø Lær, hvordan man bruger det virtuelle Python-miljø Uanset om du er en erfaren Python-udvikler, eller du lige er i gang, er det vigtigt at lære at konfigurere et virtuelt miljø for ethvert Python-projekt.).

Datakonstruktioner

Hvad er en datastruktur? På det mest basale niveau er en datastruktur en måde at lagre data effektivt på. Det er let at blive forvirret, fordi datastrukturer ikke er det datatyper. Datatyper fortæller kompilatoren (eller i Pythons tilfælde fortolkeren), hvordan dataene er beregnet til at blive brugt. Datastrukturer specificerer operationer, der kan udføres, og implementerer ofte specifikke regler og forskrifter.

Du har måske hørt om nogle lineær datatyper (elementer er fortløbende):

  • Array
  • Matrix
  • Opslagstabel

Tilsvarende, lister indeholder ofte regler og metoder til at regulere, hvordan de fungerer. Nogle almindelige lister er:

  • Tilknyttet liste
  • Dobbeltkædet liste
  • Array List eller Dynamic Array

Der er en overflod af forskellige datastrukturer. Du har måske hørt om binære træer, grafer, eller hashes. Jeg vil diskutere det grundlæggende i dag, men du ønsker måske at lære mere, når du har det godt.

Array

Lad os starte i begyndelsen. En matrix er en simpel samling af (relaterede) værdier. Disse værdier kaldes elementer. De kan normalt være enhver datatype, du kan lide, inklusive objekter eller andre lister! Det vigtigste advarsel med arrays er, at alle data skal være de samme - du kan ikke gemme blandede strenge og heltal. Du næsten skal du altid angive, hvor mange elementer du gerne vil gemme. Variabel størrelse eller dynamiske arrays findes, men arrayer med fast længde er enklere at starte med.

Python komplicerer tingene noget. Det gør tingene meget nemme for dig, men det holder ikke altid ved strenge definitioner af datastrukturer. De fleste objekter i Python er normalt lister, så at oprette en matrix er faktisk mere arbejde. Her er nogle startkoder:

fra array import array numbers = array ('i', [2, 4, 6, 8]) udskriv numre [0]

Den første linje importerer matrix modul - det kræves for at arbejde med matriser. Den anden linje opretter et nyt opkald kaldet numre og initialiseres med værdierne 2, 4, 6 og 8. Hvert element tildeles en heltal værdi kaldet a nøgle eller indeks. Taster starter kl nul, så numre [0] får adgang til det første element (2):

Du spekulerer måske på, hvad 'jeg' bruges til. Dette er en afgiftstypekode der fortæller Python, at matrixen vil lagre heltal. Denne slags ting er normalt ikke nødvendigt i Python (det ville blive overvejet “unpythonic”). Årsagen til dette er enkel. Arrays i Python er en meget tynd indpakning på de underliggende C-matriser på dit operativsystem. Det betyder, at de er hurtige og stabile, men de overholder muligvis ikke altid Python-syntaks.

Du kan ikke gemme blandede typer i disse arrays. Sig, at du ville gemme strengen “makeuseof.com”:

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

Dette er ikke tilladt og kaster en undtagelse:

Sådan kan du udskrive alle elementerne:

udskriv numre

Denne metode til at få adgang til arrayelementer fungerer godt, og den er perfekt til den rigtige opgave. Hvad det ikke er godt for, er at få adgang til hele matrixen. Programmerere er iboende doven, så jeg skriver heldigvis mere, bedre kode, hvis det betyder, at jeg kan gøre vedligeholdelse lettere, og reducere kopi & indsæt.

Hvert programmeringssprog implementerer en løkke af en slags, som er perfekte til at itereere (looping) over listeelementer. De mest almindelige sløjfer er mens og til. Python gør tingene endnu lettere ved at tilvejebringe en for ind loop:

for nummer i tal: udskriv nummer

Bemærk, hvordan du ikke behøvede at få adgang til elementer ved hjælp af deres nøgle. Dette er en meget bedre måde at arbejde med en matrix på. En alternativ måde at itereere over en liste på er med en til loop:

for i inden for rækkevidde (len (tal)): udskriv numre [i]

Dette gør nøjagtigt det samme som det forrige eksempel, selvom du har været nødt til at specificere antallet af elementer i matrixen (LEN (biler)) sammen med bestået jeg som nøglen til matrixen. Dette er næsten nøjagtigt den kode, der er for ind løkker løber. Denne måde giver lidt mere fleksibilitet og er lidt hurtigere (selvom for ind løkker er mere end hurtige nok flertal af tiden.)

Lister

Nu hvor du ved, hvordan matriser fungerer, lad os se på en liste. Det kan undertiden være forvirrende, da folk bruger forskellige terminologier om hverandre og lister er arrays… slags.

En liste er en speciel type matrix. Den største forskel er, at lister kan indeholde blandet typer (husk, arrays skal indeholde elementer af samme type). Lister er meget lette i Python:

biler = ['Ford', 'Austin', 'Lancia']

Bemærk, hvordan du ikke har brug for at importere matrix modul?

Denne syntaks erklærer en liste kaldet biler. Inde i de firkantede parenteser deklareres hvert element på listen. Hvert element adskilles af et komma, og da hvert element er en streng, erklærer du dem inden for citater. Python ved, at dette er et objekt, så Print erklæring udsender indholdet af listen:

trykbiler

Ligesom med matrixen, kan du iterere listeelementer ved hjælp af loops:

til bil i biler: printbil

Det rigtige partistrick med lister er deres blandede type. Gå videre og tilføj nogle ekstra data:

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

Dette er ikke noget problem for Python - det rejste ikke engang en undtagelse:

Det er let at tilføje nye elementer til en liste (noget ikke muligt med arrays):

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

Du kan også flette to lister til en:

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

Det er lige så let at fjerne elementer ved hjælp af fjerne syntaks:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia'] print cars cars. fjern ('Ford') trykte biler

Det omkring dækker det grundlæggende i lister og matriser i Python. Hvorfor ikke overveje et kodningsprojekt, såsom læsning og skrivning til Google Sheets Sådan læses og skrives til Google Sheets With Python Sådan læses og skrives til Google Sheets With Python Python kan virke underligt og usædvanligt, men det er let at lære og bruge . I denne artikel viser jeg dig, hvordan du læser og skriver til Google Sheets vha. Python. , læsning af json-data Sådan får du Python og JavaScript til at kommunikere ved hjælp af JSON Sådan får du Python og JavaScript til at kommunikere ved hjælp af JSON I dag viser jeg dig, hvordan du bruger JSON til at sende data fra JavaScript til Python. Jeg vil dække, hvordan du opsætter en webserver sammen med al den kode, du har brug for. . Måske kan du bruge dine nye færdigheder til at bruge at lave nogle tilpassede genvejsknapper Lav dine egne brugerdefinerede genvejsknapper med en Arduino Lav dine egne brugerdefinerede genvejsknapper med en Arduino Den ydmyge Arduino kan gøre en masse ting, men vidste du at det kan efterligne en USB-tastatur? Du kan kombinere lange tastaturgenveje til en enkelt brugerdefineret genvejstast med dette enkle kredsløb. . På trods af at de er et andet programmeringssprog, gælder disse array-principper stadig.

Har du lært noget nyt? Vil du gerne se noget mere kompliceret indhold? Fortæl os dine tanker i kommentarerne herunder!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.