logo

Atkārtojiet sarakstu Python

The Saraksts ir līdzvērtīgs masīviem citās valodās, un tā papildu priekšrocība ir dinamiska izmēra.

In Python , saraksts ir datu struktūru konteinera veids, kas tiek izmantots vairāku datu glabāšanai vienlaikus. Atšķirībā no Komplekti , Python saraksti ir sakārtoti un tiem ir noteikts skaits. Šajā rakstā mēs redzēsim, kā atkārtot sarakstu Python, kā arī Python cilpu virkņu sarakstā.



Python atkārtojiet sarakstu

Apskatīsim visus dažādos veidus, kā atkārtot sarakstu Python, un to veiktspējas salīdzinājumu.

Atkārtojiet sarakstu, izmantojot For cilpu

Mēs varam atkārtot sarakstu Python, izmantojot vienkāršu Cilpai .

Python3








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

>

>

Izvade

1 3 5 7 9>

Laika sarežģītība: O(n) – kur n ir elementu skaits sarakstā.
Palīgtelpa: O(1) – tā kā mēs neizmantojam papildu vietu.

Atkārtojiet sarakstu, izmantojot f vai cilpa un diapazons ()

Gadījumā, ja mēs vēlamies izmantot tradicionālo cilpu, kas atkārtojas no skaitļa x līdz skaitlim 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])>

>

>

Izvade

1 3 5 7 9>

Laika sarežģītība: O(n), kur n ir ievades saraksta garums.
Palīgtelpa: O(1), kas ir nemainīga telpa

Atkārtojiet, izmantojot sarakstu Python, izmantojot kāda laika cilpa

Mēs varam arī atkārtot Python sarakstu, izmantojot a kamēr cilpa .

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>

>

>

Izvade

1 3 5 7 9>

Laika sarežģītība: O(n) kur n ir saraksta garums.
Palīgtelpa: O(1), jo mainīgajiem i un garumam tiek izmantots tikai nemainīgs papildu vietas daudzums.

Atkārtojiet sarakstu, izmantojot saraksta izpratne

Varam izmantot saraksta izpratne (iespējams, viskonkrētākais veids), lai atkārtotu sarakstu Python.

Python3




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

>

>

Izvade

1 3 5 7 9>

Atkārtojiet sarakstu Python, izmantojot enumerate ()

Ja mēs vēlamies sarakstu pārvērst par atkārtojamu korežu sarakstu (vai iegūt indeksu, pamatojoties uz stāvokļa pārbaudi, piemēram, lineārajā meklēšanā, iespējams, būs jāsaglabā minimālā elementa indekss), varat izmantot enumerate() funkcija .

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)>

>

ankita lokhande vecums

>

Izvade

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

Piezīme: Lai atrastu indeksu, var izmantot pat 2. metodi, bet 1. metodi nevar (ja vien katrā iterācijā netiek palielināts papildu mainīgais), un 5. metode sniedz īsu šīs indeksēšanas attēlojumu.

Atkārtojiet, izmantojot sarakstu Python, izmantojot iter funkciju un nākamo funkciju

Šeit ir papildu pieeja, izmantojot iter funkciju un nākamo funkciju:

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>

>

>

Izvade

1 3 5 7 9>

Laika sarežģītība: O(n)
Palīgtelpa: O(1)

Atkārtojiet sarakstu Python, izmantojot funkciju map().

Izmantojiet karte () funkciju, lai lietotu funkciju katram saraksta elementam.

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>

>

>

Izvade

1 3 5 7 9>

Laika sarežģītība: O(n), kur n ir saraksta garums.
Palīgtelpa: O(1)

Python atkārtojiet vairākus sarakstus, izmantojot zip() funkciju

Šajā piemērā funkcija zip() tiek izmantota, lai vienlaikus iterētu elementus no diviem sarakstiem, list1 un list2, savienojot atbilstošos elementus kopā kortežās turpmākai drukāšanai.

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}'>)>

>

>

Izvade

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

Atkārtojiet sarakstu Python, izmantojot NumPy

Ļoti lieliem n-dimensiju sarakstiem (piemēram, attēlu masīvam) dažreiz ir labāk izmantot ārēju bibliotēku, piemēram, nejutīgs . Mēs varam izmantot np. enumerate(), lai atdarinātu uzskaitīšanas uzvedību. NumPy papildu jauda ir saistīta ar to, ka mēs pat varam kontrolēt veidu, kā apmeklēt elementus (teiksim, Fortran, nevis C secība :)), taču viens brīdinājums ir tāds, ka np.nditer masīvu uzskata par tikai lasāmu. noklusējuma, tāpēc ir jānodod papildu karodziņi, piemēram, op_flags=['readwrite'], lai tā varētu modificēt elementus.

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)>

>

Izvade:

0 1 2 3 4 5 6 7 8>

Laika sarežģītība: O(n)
Palīgtelpa: O(1)