I programmeringsspråket Python er det to typer løkker som er det for løkke og mens loop . Ved å bruke disse løkkene kan vi lage nestede løkker i Python. Nestede løkker betyr løkker inne i en løkke. For eksempel mens-løkke inne i for-løkken, for loop inne i for-løkken, etc.
endre legg til kolonne orakel

Python Nested Loops
Python Nested Loops Syntaks:
Outer_loop-uttrykk:
Inner_loop-uttrykk:
Uttalelse i inner_loop
Uttalelse inne i Outer_loop
Eksempler på Python Nested Loops
Eksempel 1: Grunnleggende eksempel på Python Nested Loops
Python3
x>=> [>1>,>2>]> y>=> [>4>,>5>]> for> i>in> x:> >for> j>in> y:> >print>(i, j)> |
>
>
Produksjon:
1 4 1 5 2 4 2 5>
Python3
x>=> [>1>,>2>]> y>=> [>4>,>5>]> i>=> 0> while> i <>len>(x) :> >j>=> 0> >while> j <>len>(y) :> >print>(x[i] , y[j])> >j>=> j>+> 1> >i>=> i>+> 1> |
>
>
Tidskompleksitet: På2)
Hjelpeplass: O(1)
Eksempel 2: Skrive ut multiplikasjonstabell ved bruk av Python nestet for løkker
Python3
# Running outer loop from 2 to 3> for> i>in> range>(>2>,>4>):> ># Printing inside the outer loop> ># Running inner loop from 1 to 10> >for> j>in> range>(>1>,>11>):> ># Printing inside the inner loop> >print>(i,>'*'>, j,>'='>, i>*>j)> ># Printing inside the outer loop> >print>()> |
>
>
Produksjon:
2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 2 * 10 = 20 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 3 * 10 = 30>
Tidskompleksitet: På2)
Hjelpeplass: O(1)
I eksemplet ovenfor tar vi en ytre for løkke som går fra 2 til 3 for multiplikasjonstabellen med 2 og 3, og deretter i den løkken tar vi en indre for løkke som vil løpe fra 1 til 10 inne i at vi skriver ut multiplikasjon tabellen ved å multiplisere hver iterasjonsverdi av indre sløyfe med iterasjon verdi av ytre sløyfe som vi ser i utgangen nedenfor.
Eksempel 3: Utskrift med forskjellige indre og ytre nestede løkker
Python3
konvertere objekt til streng
# Initialize list1 and list2> # with some strings> list1>=> [>'I am '>,>'You are '>]> list2>=> [>'healthy'>,>'fine'>,>'geek'>]> # Store length of list2 in list2_size> list2_size>=> len>(list2)> # Running outer for loop to> # iterate through a list1.> for> item>in> list1:> > ># Printing outside inner loop> >print>(>'start outer for loop '>)> ># Initialize counter i with 0> >i>=> 0> ># Running inner While loop to> ># iterate through a list2.> >while>(i # Printing inside inner loop print(item, list2[i]) # Incrementing the value of i i = i+1 # Printing outside inner loop print('end for loop ')> |
>
>
kartskrift
Produksjon:
start outer for loop I am healthy I am fine I am geek end for loop start outer for loop You are healthy You are fine You are geek end for loop>
Tidskompleksitet: På2)
Hjelpeplass: O(1)
I dette eksemplet initialiserer vi to lister med noen strenger. Lagre størrelsen på list2 i 'list2_Size' ved å bruke len()-funksjonen og bruk den i while-løkken som en teller. Etter det kjøres en ytre for loop til iterere over liste1 og inne i den sløyfen kjører en indre mens-løkke for å iterere over liste2 ved å bruke listeindeksering inne i at vi skriver ut hver verdi av liste2 for hver verdi av liste1.
Bruke break statement i nestede løkker
Det er en type sløyfekontrolluttalelse. I en loop kan vi bruke bryte uttalelse for å gå ut av løkken. Når vi bruker en break-setning i en loop, hopper den over resten av iterasjonen og avslutter loopen. la oss forstå det ved å bruke et eksempel.
Kode:
Python3
# Running outer loop from 2 to 3> for> i>in> range>(>2>,>4>):> ># Printing inside the outer loop> ># Running inner loop from 1 to 10> >for> j>in> range>(>1>,>11>):> >if> i>=>=>j:> >break> ># Printing inside the inner loop> >print>(i,>'*'>, j,>'='>, i>*>j)> ># Printing inside the outer loop> >print>()> |
>
>
Produksjon:
2 * 1 = 2 3 * 1 = 3 3 * 2 = 6>
Tidskompleksitet: På2)
Hjelpeplass: O(1)
Koden ovenfor er den samme som i eksempel 2 I denne koden bruker vi en break-setning inne i den indre sløyfen ved å bruke hvis uttalelse . Inne i den indre sløyfen hvis 'i' blir lik 'j', vil den indre sløyfen avsluttes og ikke utføres resten av iterasjonen som vi kan se i utdatatabellen til 3 skrives ut opptil to iterasjoner fordi i neste iterasjon 'i' blir lik 'j' og løkken brytes.
Bruker fortsette-setningen i nestede løkker
En fortsette-setning er også en type sløyfekontrollsetning. Det er akkurat det motsatte av pauseerklæringen. Fortsett-setningen tvinger løkken til å hoppe til neste iterasjon av løkken, mens break-setningen avslutter løkken. La oss forstå det ved å bruke kode.
Python3
# Running outer loop from 2 to 3> for> i>in> range>(>2>,>4>):> ># Printing inside the outer loop> ># Running inner loop from 1 to 10> >for> j>in> range>(>1>,>11>):> >if> i>=>=>j:> >continue> ># Printing inside the inner loop> >print>(i,>'*'>, j,>'='>, i>*>j)> ># Printing inside the outer loop> >print>()> |
>
>
Produksjon:
2 * 1 = 2 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 2 * 10 = 20 3 * 1 = 3 3 * 2 = 6 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 3 * 10 = 30>
Tidskompleksitet: På2)
Hjelpeplass: O(1)
I koden ovenfor i stedet for å bruke en break-setning, bruker vi en continue-setning. Her når 'i' blir lik 'j' i den indre sløyfen hopper den over resten av koden i den indre sløyfen og hopper på neste iterasjon som vi ser i utgangen 2 * 2 = 4 og 3 * 3 = 9 er ikke skrevet ut fordi 'i' på det tidspunktet blir lik 'j'.
Enkeltlinje Nestede løkker ved hjelp av listeforståelse
For å konvertere de flerlinjede nestede løkkene til en enkelt linje, skal vi bruke listeforståelse i Python . Listeforståelse inkluderer parenteser som består av uttrykk, som utføres for hvert element, og for-løkken for å iterere over hvert element i listen.
Syntaks for listeforståelse:
ny liste = [ uttrykk (element) til element i gammelliste hvis betingelse ]
Kode:
java matematikk pow
Python3
# Using list comprehension to make> # nested loop statement in single line.> list1>=> [[j>for> j>in> range>(>3>)]> >for> i>in> range>(>5>)]> # Printing list1> print>(list1)> |
>
>
Produksjon:
[[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]>
I koden ovenfor lagrer vi en liste inne i listen ved å bruke listeforståelse i den indre løkken av listeforståelse [j for j i område(3)] for å lage en liste [0, 1, 2] for hver iterasjon av den ytre loop for i in range(5).
Tidskompleksitet: På2) Det er raskere enn nestede løkker
Hjelpeplass: På)