logo

Techniki zapętlania w Pythonie

Python obsługuje różne techniki zapętlania dzięki pewnym wbudowanym funkcjom w różnych sekwencyjnych kontenerach. Metody te są przede wszystkim bardzo przydatne w programowaniu konkurencyjnym, a także w różnych projektach wymagających określonej techniki z pętlami utrzymującymi ogólną strukturę kodu.  Oszczędza się dużo czasu i miejsca w pamięci, ponieważ nie ma potrzeby deklarowania dodatkowych zmiennych, które deklarujemy w tradycyjnym podejściu do pętli.

Gdzie są używane?

Różne techniki zapętlania są przydatne przede wszystkim w miejscach, w których nie musimy faktycznie manipulować strukturą i porządkiem ogólnych kontenerów, a jedynie drukować elementy dla instancji jednorazowego użytku, w kontenerze nie zachodzą żadne zmiany na miejscu. Można to również wykorzystać w przypadkach, aby zaoszczędzić czas.

Różne techniki zapętlania wykorzystujące struktury danych Pythona to:  

Sposób 1: Używanie enumerate():   enumerate() służy do przeglądania kontenerów wyświetlających numer indeksu wraz z wartością obecną w tym konkretnym indeksie.



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

Wyjście:

nie jest równy mysql
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=' ') 

Wyjście:

Geeks for Geeks is the Best Coding Platform 

Sposób 2: Używanie zip():  zip() służy do łączenia 2 lub więcej kontenerów i drukowania wartości sekwencyjnie. Pętla istnieje tylko do momentu zakończenia mniejszego pojemnika. Można znaleźć szczegółowe wyjaśnienie funkcji zip() i enumerate(). Tutaj .

Przykład 1: Dwa różne typy danych (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() 

Wyjście
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () 

Przykład 2: Dwie podobne listy-listy typów danych

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

Wyjście:

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

Sposób 3: Używanie iteritem():  iteritems() służy do przeglądania słownika w pętli, wyświetlając sekwencyjnie parę klucz-wartość słownika, która jest używana przed wersją Pythona 3.

Sposób 4: Używanie przedmiotów(): items() wykonuje w słowniku podobne zadanie jak iteritems(), ale ma pewne wady w porównaniu z iteritems().

modulacja amplitudy
  • To jest bardzo czasochłonne . Wywoływanie tego w dużych słownikach zajmuje sporo czasu.
  • To zajmuje dużo pamięci . Czasami zajmuje dwukrotnie więcej pamięci, gdy jest wywoływane w słowniku.

Przykład 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) 

Wyjście:

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

Przykład 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) 

Wyjście
Ashoka The Great Chandragupta The Maurya Modi The Changer 

Sposób 5: Używanie sortowanej():   sorted() służy do drukowania kontener jest posortowany . To nie sortuje kontenera ale po prostu drukuje kontener w posortowanej kolejności dla 1 instancji. Użycie set() można połączyć, aby usunąć duplikat zdarzenia.

wiosenny mvc

Przykład 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=' ') 

Wyjście:

    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

Przykład 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) 

Wyjście:

apple  
banana
grape
guava
guave
orange
pear

Sposób 6: Używanie odwróconej():  Reversed() służy do drukowania wartości the pojemnik w odwrotnej kolejności . Nie odzwierciedla żadnych zmian w stosunku do pierwotnej listy

Przykład 1:

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

Wyjście:

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

Przykład 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) 

Wyjście:

7  
4
1
  • Techniki te są szybkie w użyciu i zmniejszają wysiłek związany z kodowaniem. for while wymaga zmiany całej struktury kontenera.
  • Te techniki zapętlania nie wymagają żadnych zmian konstrukcyjnych w pojemniku. Zawierają słowa kluczowe, które przedstawiają dokładny cel użycia. Podczas gdy w pętli for while nie można dokonywać żadnych wstępnych przewidywań ani domysłów, co oznacza, że ​​nie można łatwo zrozumieć celu na pierwszy rzut oka.
  • Technika zapętlania sprawia, że ​​kod jest bardziej zwięzły niż użycie pętli for i while.

techniki zapętlania podczas używania instrukcji if:

W tym przykładzie używamy pętli while w celu zwiększenia zmiennej zwanej liczbą. Wewnątrz pętli używamy instrukcji if, aby sprawdzić, czy liczba jest równa 3. Jeśli tak, wypisujemy komunikat.

Zbliżać się:

Zainicjuj zmienną licznikową na 0
Użyj pętli while, aby wielokrotnie wykonać blok kodu, o ile liczba jest mniejsza niż 5
Wewnątrz pętli użyj instrukcji if, aby sprawdzić, czy liczba jest równa 3
Jeśli liczba wynosi 3, wydrukuj wiadomość
Na koniec każdej iteracji zwiększaj liczbę o 1

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

Wyjście
Count is 3


Złożoność czasowa: O(n), gdzie n to liczba iteracji wymaganych, aby liczba osiągnęła 5.

Przestrzeń pomocnicza: O(1), ponieważ w całym kodzie używana jest tylko jedna zmienna (liczba).

Utwórz quiz