logo

Herhaal een lijst in Python

De Lijst is gelijk aan arrays in andere talen, met als extra voordeel dat ze dynamisch van omvang zijn.

In Python , is de lijst een type container in Data Structures, die wordt gebruikt om meerdere gegevens tegelijkertijd op te slaan. in tegenstelling tot Stelt in , lijsten in Python zijn geordend en hebben een definitieve telling. In dit artikel zullen we zien hoe je een lijst in Python kunt doorlopen en ook hoe je een lijst met tekenreeksen kunt doorlopen.



Python herhaalt een lijst

Laten we eens kijken naar alle verschillende manieren om een ​​lijst in Python te herhalen en de prestatievergelijking daartussen.

Herhaal een lijst met de For-lus

We kunnen een lijst in Python herhalen met behulp van een simple For loop .

Python3








# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using for loop> for> i>in> list>:> >print>(i)>

>

>

Uitvoer

1 3 5 7 9>

Tijdcomplexiteit: O(n) – waarbij n het aantal elementen in de lijst is.
Hulpruimte: O(1) – omdat we geen extra ruimte gebruiken.

Doorloop een lijst met f of lus en bereik()

In het geval dat we de traditionele for-lus willen gebruiken die itereert van nummer x naar nummer y.

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # getting length of list> length>=> len>(>list>)> > # Iterating the index> # same as 'for i in range(len(list))'> for> i>in> range>(length):> >print>(>list>[i])>

>

>

Uitvoer

1 3 5 7 9>

Tijdcomplexiteit: O(n), waarbij n de lengte van de invoerlijst is.
Hulpruimte: O(1), wat een constante ruimte is

Doorloop een lijst in Python met behulp van een while-lus

We kunnen ook een Python-lijst herhalen met behulp van a herhalingslus .

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Getting length of list> i>=> 0> > # Iterating using while loop> while> i <>len>(>list>):> >print>(>list>[i])> >i>+>=> 1>

>

>

Uitvoer

1 3 5 7 9>

Tijdcomplexiteit: O(n) waarbij n de lengte van de lijst is.
Hulpruimte: O(1) omdat er slechts een constante hoeveelheid extra ruimte wordt gebruikt voor variabelen i en lengte.

Doorloop een lijst met behulp van lijst begrip

We kunnen gebruiken lijst begrip (mogelijk de meest concrete manier) om een ​​lijst in Python te herhalen.

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using list comprehension> [>print>(i)>for> i>in> list>]>

>

>

Uitvoer

1 3 5 7 9>

Doorloop een lijst in Python met enumerate()

Als we de lijst willen omzetten in een iterabele lijst met tupels (of de index willen verkrijgen op basis van een voorwaardecontrole, bijvoorbeeld bij lineair zoeken, moet u mogelijk de index van het minimumelement opslaan), kunt u de opsommen() functie .

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using enumerate()> for> i, val>in> enumerate>(>list>):> >print> (i,>','>,val)>

>

panda's iterrijen

>

Uitvoer

0 , 1 1 , 3 2 , 5 3 , 7 4 , 9>

Opmerking: Zelfs methode 2 kan worden gebruikt om de index te vinden, maar methode 1 niet (tenzij een extra variabele elke iteratie wordt verhoogd) en methode 5 geeft een beknopte weergave van deze indexering.

Doorloop een lijst in Python met behulp van de iter-functie en de volgende functie

Hier is een aanvullende benadering met behulp van de iter-functie en de volgende functie:

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> # Create an iterator object using the iter function> iterator>=> iter>(>list>)> # Use the next function to retrieve the elements of the iterator> try>:> >while> True>:> >element>=> next>(iterator)> >print>(element)> except> StopIteration:> >pass>

>

>

Uitvoer

1 3 5 7 9>

Tijdcomplexiteit: Op)
Hulpruimte: O(1)

Herhaal een lijst in Python met behulp van de map() functie

Gebruik de kaart() functie om een ​​functie toe te passen op elk element van een lijst.

Python3




# Define a function to print each element> def> print_element(element):> >print>(element)> # Create a list> my_list>=> [>1>,>3>,>5>,>7>,>9>]> # Use map() to apply the print_element() function to each element of the list> result>=> map>(print_element, my_list)> # Since map() returns an iterator, we need to consume> # the iterator in order to see the output> for> _>in> result:> >pass>

>

>

Uitvoer

1 3 5 7 9>

Tijdcomplexiteit: O(n), waarbij n de lengte van de lijst is.
Hulpruimte: O(1)

Python herhaalt meerdere lijsten met behulp van de functie zip().

In dit voorbeeld wordt de functie zip() gebruikt om gelijktijdig elementen uit twee lijsten, lijst1 en lijst2, te herhalen, waarbij overeenkomstige elementen in tupels aan elkaar worden gekoppeld om vervolgens te worden afgedrukt.

Python3




list1>=> [>1>,>2>,>3>]> list2>=> [>'p'>,>'q'>,>'r'>]> # Using zip() to iterate over multiple lists simultaneously> for> i1, i2>in> zip>(list1, list2):> >print>(f>'{i1} ->{i2}'>)>

>

>

Uitvoer

1 ->p 2 -> q 3 -> r>

Herhaal een lijst in Python met behulp van NumPy

Voor zeer grote n-dimensionale lijsten (bijvoorbeeld een afbeeldingsarray) is het soms beter om een ​​externe bibliotheek te gebruiken, zoals numpig . We kunnen np gebruiken. enumerate() om het gedrag van opsommen na te bootsen. De extra kracht van NumPy komt voort uit het feit dat we zelfs de manier kunnen bepalen waarop we de elementen bezoeken (Fortran-volgorde in plaats van C-volgorde, zeg maar :)), maar het enige voorbehoud is dat de np.nditer de array als alleen-lezen behandelt door standaard, dus je moet extra vlaggen doorgeven, zoals op_flags=['readwrite'] om elementen te kunnen wijzigen.

Python3




import> numpy as geek> # creating an array using> # arrange method> a>=> geek.arange(>9>)> # shape array with 3 rows> # and 4 columns> a>=> a.reshape(>3>,>3>)> # iterating an array> for> x>in> geek.nditer(a):> >print>(x)>

>

>

Uitgang:

0 1 2 3 4 5 6 7 8>

Tijdcomplexiteit: Op)
Hulpruimte: O(1)