Hoe arrays en lijsten werken in Python

Hoe arrays en lijsten werken in Python / Programming

Arrays en lijsten zijn enkele van de meest bruikbare datastructuren bij het programmeren - hoewel maar weinig mensen ze echt gebruiken om hun volledige potentieel te benutten. Vandaag zal ik het hebben over basisprincipes, samen met enkele eenvoudige Python-voorbeelden.

voorwaarden

Er is niet veel wat je moet weten van tevoren om deze concepten te leren. Een basiskennis van programmeerparadigma's en Python zal nuttig zijn, maar het is niet vereist. Lees onze basale Python-voorbeelden 10 Fundamentele Python-voorbeelden die u zullen helpen snel te leren 10 Fundamentele Python-voorbeelden die u zullen helpen snel te leren Dit artikel van eenvoudige python-voorbeelden is voor diegenen die al wat programmeerervaring hebben en gewoon snel naar Python willen overstappen mogelijk. Lees Meer als u niet weet waar u moet beginnen. Als je denkt dat Python een nutteloze taal is, kijk dan eens naar onze redenen waarom het niet 5 redenen is waarom Python programmeren niet nutteloos is 5 Redenen waarom Python programmeren geen zin heeft Python - Je houdt er wel van of je haat het. Je zou zelfs als een slinger van het ene uiteinde naar het andere kunnen zwaaien. Ongeacht, Python is een taal waar het moeilijk is om ambivalent te zijn. Lees verder .

Hoewel de volgende fundamentele ideeën op elke taal kunnen worden toegepast, zal ik de voorbeelden in Python demonstreren. Het is een gemakkelijke taal om te leren en biedt een uitstekend platform om te begrijpen wat er gaande is. Daarnaast biedt tutorialspoint.com een ​​uitstekende online Python-interpreter - je hoeft Python zelfs niet te installeren als je dat niet wilt (kijk in onze handleiding voor virtuele omgevingen) Leer hoe je de Python Virtual gebruikt Milieu Leer hoe u de virtuele Python-omgeving kunt gebruiken Of u nu een ervaren Python-ontwikkelaar bent of u bent nog maar net begonnen, het leren van een virtuele omgeving is essentieel voor elk Python-project..

Data structuren

Wat is een data structuur? Op het meest basale niveau is een gegevensstructuur een manier om gegevens efficiënt op te slaan. Het is gemakkelijk om in de war te raken omdat datastructuren dat niet zijn gegevenstypes. Datatypen vertellen de compiler (of in het geval van Python de interpreter) hoe de gegevens bedoeld zijn om te worden gebruikt. Gegevensstructuren specificeren bewerkingen die kunnen worden uitgevoerd en implementeren vaak specifieke regels en voorschriften.

Misschien heb je van sommige gehoord lineair gegevenstypen (elementen zijn sequentieel):

  • reeks
  • Matrix
  • Opzoektabel

evenzo, lijsten bevatten vaak regels en methoden om te regelen hoe ze werken. Enkele veel voorkomende lijsten zijn:

  • Gekoppelde lijst
  • Dubbel gekoppelde lijst
  • Array-lijst of dynamische array

Er is een overvloed aan verschillende datastructuren. Je hebt misschien wel gehoord van binaire bomen, grafieken, of hashes. Ik zal vandaag de basisbeginselen bespreken, maar misschien wil je meer leren als je je eenmaal op je gemak voelt.

reeks

Laten we bij het begin beginnen. Een array is een eenvoudige verzameling (gerelateerde) waarden. Deze waarden worden elementen genoemd. Ze kunnen meestal elk gegevenstype zijn dat u bevalt, inclusief objecten of andere lijsten! De belangrijkste waarschuwing met arrays is dat alle gegevens hetzelfde moeten zijn: u kunt gemengde tekenreeksen en gehele getallen niet opslaan. U bijna moet altijd specificeren hoeveel elementen u wilt opslaan. Variabele grootte of dynamische arrays bestaan, maar arrays met een vaste lengte zijn eenvoudiger om mee te beginnen.

Python bemoeilijkt dingen enigszins. Het maakt dingen heel gemakkelijk voor je, maar het houdt niet altijd vast aan strikte definities van datastructuren. De meeste objecten in Python zijn meestal lijsten, dus het maken van een array is eigenlijk meer werk. Hier is een startercode:

van array-importarumummers = array ('i', [2, 4, 6, 8]) printnummers [0]

De eerste regel importeert de rangschikking module - dat is vereist om met arrays te werken. De tweede regel maakt een nieuwe array genaamd getallen en initialiseert het met de waarden 2, 4, 6 en 8. Elk element krijgt een geheel getal waarde genaamd a sleutel of inhoudsopgave. Sleutels beginnen bij nul, zo getallen [0] krijgt toegang tot het eerste element (2):

Je vraagt ​​je misschien af ​​wat de 'ik' is gebruikt voor. Dit is een typenummer die Python vertelt dat de array hele getallen zal opslaan. Dit soort dingen zou normaal niet nodig zijn in Python (het zou overwogen worden “unpythonic”). De reden hiervoor is simpel. Arrays in Python zijn een hele dunne wrapper op de onderliggende C-arrays van uw besturingssysteem. Dit betekent dat ze snel en stabiel zijn, maar dat ze zich mogelijk niet altijd houden aan de syntaxis van Python.

U kunt gemengde typen niet opslaan in deze arrays. Stel dat je de string wilde opslaan “makeuseof.com”:

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

Dit is niet toegestaan ​​en zal een uitzondering opleveren:

Hier ziet u hoe u alle elementen kunt afdrukken:

print nummers

Deze methode voor toegang tot array-elementen werkt goed en is perfect voor de juiste taak. Waar het niet goed voor is, is toegang krijgen tot de hele array. Programmeurs zijn inherent lui, dus ik zal graag meer, betere code schrijven, als dit betekent dat ik het onderhoud eenvoudiger kan maken en de inspanningen voor kopiëren en plakken kan verminderen.

Elke programmeertaal zal een lus van een soort implementeren, die perfect is voor het itereren (lussen) van lijstelementen. De meest voorkomende lussen zijn terwijl en voor. Python maakt het nog eenvoudiger door een voor in lus:

voor nummer in cijfers: printnummer

Merk op hoe je geen toegang had tot elementen met hun sleutel. Dit is een veel betere manier om met een array te werken. Een alternatieve manier om een ​​lijst te herhalen is met een voor lus:

voor i binnen het bereik (len (cijfers)): printnummers [i]

Dit doet precies hetzelfde als in het vorige voorbeeld, hoewel u het aantal elementen in de array hebt opgegeven (len (auto's)), samen met passeren ik als de sleutel tot de array. Dit is bijna precies de code die voor in loops run. Op deze manier biedt iets meer flexibiliteit, en is iets sneller (hoewel voor in loops zijn meer dan snel genoeg het meerderheid van de tijd.)

lijsten

Nu we weten hoe arrays werken, laten we een lijst bekijken. Het kan soms verwarrend zijn, omdat mensen verschillende terminologie onderling uitwisselbaar gebruiken en lijsten bevatten zijn arrays ... soort.

Een lijst is een speciaal type array. Het grootste verschil is dat lijsten kunnen bevatten gemengd soorten (onthoud dat arrays elementen van hetzelfde type moeten bevatten). Lijsten zijn heel eenvoudig in Python:

auto's = ['Ford', 'Austin', 'Lancia']

Merk op hoe u het niet hoeft te importeren rangschikking module?

Deze syntaxis verklaart een lijst met de naam auto's. Binnen de vierkante haken wordt elk element van de lijst gedeclareerd. Elk element wordt gescheiden door een komma en omdat elk element een tekenreeks is, geeft u deze aan de binnenkant aanhalingstekens. Python weet dat dit een object is, dus de afdrukken statement zal de inhoud van de lijst weergeven:

auto's afdrukken

Net als bij de array, kunt u lijstelementen herhalen over het gebruik van loops:

voor auto's in auto's: auto afdrukken

De echte partytruc van lijsten is hun gemengde type. Ga je gang en voeg wat extra gegevens toe:

auto's = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Dit is geen probleem voor Python - er kwam zelfs geen uitzondering bij:

Het is gemakkelijk om nieuwe elementen aan een lijst toe te voegen (iets wat niet mogelijk is met arrays):

auto's = ['Ford', 'Austin'] auto's afdrukken auto's.append ('Lancia')

U kunt ook twee lijsten samenvoegen in één:

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

Het is net zo gemakkelijk om elementen te verwijderen met behulp van de verwijderen syntaxis:

auto's = ['Ford', 'Austin', 'Lotus', 'Lancia'] auto's afdrukken auto's. verwijderen ('Ford') auto's afdrukken

Dat over behandelt de basisprincipes van lijsten en arrays in Python. Waarom geen codeerproject overwegen, zoals lezen en schrijven naar Google Spreadsheets Hoe lezen en schrijven naar Google Spreadsheets met Python Hoe lezen en schrijven naar Google Spreadsheets Met Python lijkt Python vreemd en ongebruikelijk, maar het is gemakkelijk te leren en te gebruiken . In dit artikel laat ik je zien hoe je met Python naar Google Spreadsheets kunt lezen en schrijven. Meer lezen, json-gegevens lezen Python en JavaScript laten communiceren via JSON Hoe u Python en JavaScript kunt laten communiceren met JSON Vandaag laat ik u zien hoe u JSON gebruikt om gegevens van JavaScript naar Python te verzenden. Ik zal bespreken hoe je een webserver installeert, samen met alle code die je nodig hebt. Lees verder . Misschien kun je je nieuwe vaardigheden gebruiken om een ​​aantal aangepaste sneltoetsen te maken Maak je eigen aangepaste snelkoppelingen met een Arduino Maak je eigen aangepaste snelkoppelingen met een Arduino De eenvoudige Arduino kan veel dingen doen, maar wist je dat het een USB-toetsenbord? U kunt lange sneltoetsen combineren in een enkele aangepaste sneltoets, met deze eenvoudige schakeling. Lees verder . Ondanks dat dit een andere programmeertaal is, zijn deze array-principes nog steeds van toepassing.

Heb je iets nieuws geleerd? Wil je wat meer gecompliceerde inhoud zien? Laat ons je mening weten in de reacties hieronder!

Ontdek meer over: Programmeren, Python.