logo

Tehnike ponavljanja u petlji u Pythonu

Python podržava različite tehnike petlji pomoću određenih ugrađenih funkcija u različitim sekvencijalnim spremnicima. Ove metode su prvenstveno vrlo korisne u kompetitivnom programiranju, ali iu raznim projektima koji zahtijevaju specifičnu tehniku ​​s petljama koje održavaju cjelokupnu strukturu koda.  Štedi se puno vremena i memorijskog prostora jer nema potrebe za deklariranjem dodatnih varijabli koje deklariramo u tradicionalnom pristupu petlji.

Gdje se koriste?

Različite tehnike petlji primarno su korisne na mjestima gdje ne trebamo zapravo manipulirati strukturom i redoslijedom ukupnih spremnika, nego samo ispisati elemente za instancu za jednokratnu upotrebu, bez promjene na mjestu u spremniku. Ovo se također može koristiti u slučajevima za uštedu vremena.

Različite tehnike petlji koje koriste Python strukture podataka su:  

1. način: korištenje enumerate():   enumerate() se koristi za kruženje kroz spremnike koji ispisuju broj indeksa zajedno s vrijednošću prisutnom u tom određenom indeksu.



Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value) 

Izlaz:

tat puni oblik
0 The  
1 Big
2 Bang
3 Theory
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['Geeks' 'for' 'Geeks' 'is' 'the' 'Best' 'Coding' 'Platform']): print(value end=' ') 

Izlaz:

Geeks for Geeks is the Best Coding Platform 

2. način: korištenje zip():  zip() se koristi za kombiniranje 2 ili više spremnika koji uzastopno ispisuju vrijednosti. Petlja postoji samo dok manji spremnik ne završi. Detaljno objašnjenje zip() i enumerate() može se pronaći ovdje .

Primjer 1: Dvije različite vrste podataka (listtuple)

Python
# python code to demonstrate working of zip() names = ['Deep' 'Sachin' 'Simran'] # list ages = (24 27 25) # tuple for name age in zip(names ages): print('Name: ' name) print('Age: ' age) print() 

Izlaz
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () 

Primjer 2: Dva slična tipa podataka list-list

Python3
# python code to demonstrate working of zip() # initializing list questions = ['name' 'colour' 'shape'] answers = ['apple' 'red' 'a circle'] # using zip() to combine two containers # and print values for question answer in zip(questions answers): print('What is your {0}? I am {1}.'.format(question answer)) 

Izlaz:

What is your name? I am apple.  
What is your color? I am red.
What is your shape? I am a circle.

Način 3: Korištenje iteritem():  iteritems() se koristi za kruženje rječnikom sekvencijalno ispisivanje para ključ-vrijednost rječnika koji se koristio prije Python 3 verzije.

veličina mog monitora

4. način: Korištenje stavki(): items() obavlja sličan zadatak na rječniku kao iteritems(), ali ima određene nedostatke u usporedbi s iteritems().

  • jeste oduzima puno vremena . Pozivanje u velikim rječnicima oduzima dosta vremena.
  • Potrebno je a puno memorije . Ponekad zauzima dvostruko više memorije kada se poziva na rječniku.

Primjer 1:

Python3
# python code to demonstrate working of items() d = {'geeks': 'for' 'only': 'geeks'} # iteritems() is renamed to items() in python3 # using items to print the dictionary key-value pair print('The key value pair using items is : ') for i j in d.items(): print(i j) 

Izlaz:

The key value pair using iteritems is :   
geeks for
only geeks

Primjer 2:

Python3
# python code to demonstrate working of items() king = {'Ashoka': 'The Great' 'Chandragupta': 'The Maurya' 'Modi': 'The Changer'} # using items to print the dictionary key-value pair for key value in king.items(): print(key value) 

Izlaz
Ashoka The Great Chandragupta The Maurya Modi The Changer 

5. način: korištenje sorted():   sorted() se koristi za ispis spremnik je poredan . To ne sortira kontejner ali samo ispisuje spremnik sortiranim redoslijedom za 1 instancu. Upotreba set() se može kombinirati za uklanjanje duplikata pojave.

Primjer 1:

Python3
# python code to demonstrate working of sorted() # initializing list lis = [1 3 5 6 2 1 3] # using sorted() to print the list in sorted order print('The list in sorted order is : ') for i in sorted(lis): print(i end=' ') print('r') # using sorted() and set() to print the list in sorted order # use of set() removes duplicates. print('The list in sorted order (without duplicates) is : ') for i in sorted(set(lis)): print(i end=' ') 

Izlaz:

    The li   st in sorted order is :   
1 1 2 3 3 5 6
The list in sorted order (without duplicates) is :
1 2 3 5 6

Primjer 2:

Python3
# python code to demonstrate working of sorted() # initializing list basket = ['guave' 'orange' 'apple' 'pear' 'guava' 'banana' 'grape'] # using sorted() and set() to print the list # in sorted order for fruit in sorted(set(basket)): print(fruit) 

Izlaz:

apple  
banana
grape
guava
guave
orange
pear

Način 6: Korištenje reversed():  reversed() se koristi za ispis vrijednosti the spremnik obrnutim redoslijedom . Ne odražava nikakve promjene izvornog popisa

Primjer 1:

značajke java8
Python3
# python code to demonstrate working of reversed() # initializing list lis = [1 3 5 6 2 1 3] # using reversed() to print the list in reversed order print('The list in reversed order is : ') for i in reversed(lis): print(i end=' ') 

Izlaz:

niz u Javi
The list in reversed order is :   
3 1 2 6 5 3 1

Primjer 2:

Python3
# python code to demonstrate working of reversed() # using reversed() to print in reverse order for i in reversed(range(1 10 3)): print(i) 

Izlaz:

7  
4
1
  • Ove se tehnike brzo koriste i smanjuju napor kodiranja. jer dok petlje trebaju promijeniti cijelu strukturu spremnika.
  • Ove tehnike petlje ne zahtijevaju nikakve strukturne promjene na spremniku. Oni imaju ključne riječi koje predstavljaju točnu svrhu upotrebe. Dok se u petlji for while ne mogu napraviti nikakva predviđanja ili nagađanja, tj. nije lako razumjeti svrhu na prvi pogled.
  • Tehnika petlje čini kôd konciznijim od korištenja petlje for & while.

tehnike petlje  while petlja pomoću if naredbi:

U ovom primjeru koristimo while petlju za povećanje varijable koja se zove count. Unutar petlje koristimo if naredbu da provjerimo je li count jednak 3. Ako jest, ispisujemo poruku.

Pristup:

Inicijalizirajte varijablu brojača na 0
Upotrijebite while petlju za opetovano izvršavanje bloka koda sve dok je count manji od 5
Unutar petlje koristite if naredbu da provjerite je li count jednak 3
Ako je broj 3, ispišite poruku
Povećajte broj za 1 na kraju svake iteracije

Python3
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1 

Izlaz
Count is 3


Vremenska složenost: O(n) gdje je n broj ponavljanja potrebnih da bi brojanje doseglo 5.

Pomoćni prostor: O(1) budući da se u cijelom kodu koristi samo jedna varijabla (count).

Napravi kviz