Python is een van de snelst groeiende programmeertalen. Ontwikkelaars gebruiken het onder meer voor machine learning en datawetenschap. Voordat u meer geavanceerde aspecten van de taal gaat leren, moet u een van de meest voorkomende gegevensstructuren beheersen: lijsten.

Lijsten in Python zijn arrays, bekend van andere programmeertalen zoals C en C++. U kunt de grootte van een lijst wijzigen en Python bouwt voor het gemak verschillende lijstmethoden in. U kunt meerdere gegevenstypen binnen een lijst opslaan, zoals tekenreeksen, objecten en zelfs andere lijsten.

Waarom verschillende looping-technieken gebruiken?

Je vraagt ​​je misschien af ​​of het de moeite waard is om verschillende manieren te leren om een ​​Python-lijst te doorkruisen als een rechttoe rechtaan voor lus kan het werk doen.

Vaak is het gemakkelijker om een ​​stenomethode te gebruiken, zoals een lijstbegrip of lambda-functie, om uw code beknopt en minder rommelig te houden. Het helpt ook bij het beslissen welke traversal-techniek het meest effectief is voor een complexe lijst met veel elementen.

Wat nog belangrijker is, is dat interviewers vaak complexe lijstdoorzoekvragen stellen. Als u de verschillende manieren kent om lijsten te doorlopen, bent u beter voorbereid om die moeilijke vragen te beantwoorden.

1. Doorkruisen met behulp van de methode voor lus en bereik

Een van de meest gebruikelijke methoden om een ​​Python-lijst te doorlopen, is het gebruik van een for-lus, en ze lijken erg op andere programmeertalen.

arr = [10, 20, 30, 40]

voor val in arr:
afdrukken('waarde', val)

Als alternatief kunt u ook de bereik() methode om meer controle over uw voor lus. De bereik() methode heeft drie argumenten:

  • start: Geeft de startindex van de for-lustraversal aan.
  • stop: Vertelt het programma de definitieve/stop-index voor de for-lus-traversal. Het is gebruikelijk om de lengte van de lijst (aantal elementen) als stopindex te gebruiken.
  • step: Het stapgrootte-argument is optioneel. Indien opgegeven, stelt het de hoeveelheid in waarmee de for-lus de lopende teller elke keer verhoogt. De stapgrootte is standaard 1.

Om een ​​Python-lijst te doorlopen met range():

arr = [10, 20, 30, 40, 50, 60]

voor sleutel in bereik (0, len (arr), 2):
afdrukken('aantal', sleutel)

Het bovenstaande voorbeeld voert de voor lus van index 0 tot de lengte van de array en verhoogt de lusteller met 2.

2. steno doorkruisen met behulp van lijstbegrip

Een van de meest intuïtieve functies van Python is: lijst begrip. Hiermee kunt u eenvoudige éénregelige oplossingen schrijven voor een groot aantal verschillende problemen.

Om bijvoorbeeld het kwadraat van de eerste 10 getallen te berekenen, kunt u eenvoudig het volgende gebruiken:

sq = [x ** 2 voor x binnen bereik (10)] 

Gegeven een lijst met nummers, kunt u ze als volgt afdrukken met behulp van lijstbegrip:

arr = [1, 3, 5, 7, 9]
[afdrukken(val) voor val in arr]

Lijstbegrippen zijn erg krachtig en kunnen coderen heel gemakkelijk maken als je het eenmaal onder de knie hebt, dus zorg ervoor dat je wat tijd besteedt aan het goed oefenen ervan.

3. In-line lambda-functies gebruiken om een ​​lijst te doorlopen

Gewoonlijk declareren we functies in Python met behulp van de zeker trefwoord en moeten een speciale functietekst en koptekst opgeven. Lambda-functies zijn een krachtige Python-functie, waardoor het veel gemakkelijker wordt om eenvoudige, kortere code te schrijven. Ze hebben geen naam en kunnen slechts één uitdrukking bevatten. U kunt echter een willekeurig aantal parameters doorgeven aan een lambda-functie.

In combinatie met de kaart() methode, kan de lambda-functie effectief werken als een voor lus. Om een ​​lijst met nummers af te drukken met een combinatie van lambda-functies en kaart():

arr = [1, 3, 4, 5, 6, 7, 8]
mijnFun = lijst(kaart (lambda z: z, arr))
afdrukken(mijnFun)

Python-loops zijn eenvoudig maar alomtegenwoordig

Loops zijn essentieel in elke programmeertaal en Python is niet anders. De meeste programma's die u schrijft, zullen op een bepaald moment een lus bevatten, in een of andere vorm.

Dit is tweeledig als je Python wilt gebruiken voor datawetenschaps- of machine learning-projecten.