Python unterstützt verschiedene Schleifentechniken durch bestimmte integrierte Funktionen in verschiedenen sequentiellen Containern. Diese Methoden sind vor allem bei der Wettbewerbsprogrammierung und auch in verschiedenen Projekten sehr nützlich, die eine bestimmte Technik mit Schleifen erfordern, die die Gesamtstruktur des Codes aufrechterhalten. Es wird viel Zeit und Speicherplatz gespart, da keine Notwendigkeit besteht, die zusätzlichen Variablen zu deklarieren, die wir beim herkömmlichen Schleifenansatz deklarieren.
Wo werden sie verwendet?
Verschiedene Schleifentechniken sind vor allem dort nützlich, wo wir die Struktur und Reihenfolge der gesamten Container nicht wirklich manipulieren müssen, sondern nur die Elemente für eine einmalige Instanz drucken und keine direkten Änderungen im Container auftreten. Dies kann in Einzelfällen auch zur Zeitersparnis genutzt werden.
Verschiedene Schleifentechniken mit Python-Datenstrukturen sind:
Weg 1: Verwendung von enumerate(): enumerate() wird verwendet, um die Container zu durchlaufen und die Indexnummer zusammen mit dem in diesem bestimmten Index vorhandenen Wert auszugeben.
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value)
Ausgabe:
Java-Serverseiten
0 ThePython3
1 Big
2 Bang
3 Theory
# python code to demonstrate working of enumerate() for key value in enumerate(['Geeks' 'for' 'Geeks' 'is' 'the' 'Best' 'Coding' 'Platform']): print(value end=' ')
Ausgabe:
Geeks for Geeks is the Best Coding Platform Weg 2: Verwendung von zip(): zip() wird verwendet, um zwei oder mehr Container zu kombinieren und die Werte nacheinander auszudrucken. Die Schleife existiert nur bis zum Ende des kleineren Containers. Eine ausführliche Erklärung von zip() und enumerate() finden Sie hier Hier .
Beispiel 1: Zwei verschiedene Datentypen (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()
Ausgabe
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () Beispiel 2: Zwei ähnliche Datentypen 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))
Ausgabe:
Typoskript-Datumstyp
What is your name? I am apple.
What is your color? I am red.
What is your shape? I am a circle.
Weg 3: Verwendung von iteritem(): iteritems() wird verwendet, um das Wörterbuch zu durchlaufen und das Schlüssel-Wert-Paar des Wörterbuchs nacheinander zu drucken, was vor der Python 3-Version verwendet wurde.
Weg 4: Verwenden von items(): items() führt im Wörterbuch eine ähnliche Aufgabe aus wie iteritems(), weist jedoch im Vergleich zu iteritems() gewisse Nachteile auf.
- Es ist sehr zeitaufwändig . Der Aufruf in großen Wörterbüchern nimmt ziemlich viel Zeit in Anspruch.
- Es dauert eine viel Speicher . Beim Aufruf eines Wörterbuchs wird manchmal der doppelte Speicher benötigt.
Beispiel 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)
Ausgabe:
The key value pair using iteritems is :
geeks for
only geeks
Beispiel 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)
Ausgabe
Ashoka The Great Chandragupta The Maurya Modi The Changer
Weg 5: Verwendung von sorted(): sorted() wird zum Drucken verwendet Der Container ist sortiert . Es sortiert den Container nicht aber druckt den Container nur in sortierter Reihenfolge für eine Instanz. Die Verwendung von set() kann kombiniert werden, um Duplikate zu entfernen Vorkommnisse.
Beispiel 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=' ')
Ausgabe:
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
Beispiel 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)
Ausgabe:
apple
banana
grape
guava
guave
orange
pear
Weg 6: Verwendung von reversed(): reversed() wird verwendet, um die Werte von zu drucken Die Behälter in umgekehrter Reihenfolge . Es spiegelt keine Änderungen gegenüber der ursprünglichen Liste wider
Java aktualisieren
Beispiel 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=' ')
Ausgabe:
The list in reversed order is :
3 1 2 6 5 3 1
Beispiel 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)
Ausgabe:
Schauspielerin Rubina Dilaik
7
4
1
- Diese Techniken sind schnell anwendbar und reduzieren den Programmieraufwand. Bei While-Schleifen muss die gesamte Struktur des Containers geändert werden.
- Diese Looping-Techniken erfordern keine strukturellen Änderungen am Container. Sie verfügen über Schlüsselwörter, die den genauen Verwendungszweck darstellen. Während in der For-Wheel-Schleife keine Voraussagen oder Vermutungen getroffen werden können, ist der Zweck auf einen Blick nicht leicht zu verstehen.
- Die Schleifentechnik macht den Code prägnanter als die Verwendung von For- und While-Schleifen.
Schleifentechniken while-Schleife mit if-Anweisungen:
In diesem Beispiel verwenden wir eine While-Schleife, um eine Variable namens count zu erhöhen. Innerhalb der Schleife verwenden wir eine if-Anweisung, um zu prüfen, ob count gleich 3 ist. Wenn dies der Fall ist, geben wir eine Nachricht aus.
Ansatz:
Initialisieren Sie eine Zählvariable auf 0
Verwenden Sie eine While-Schleife, um einen Codeblock wiederholt auszuführen, solange die Anzahl kleiner als 5 ist
Verwenden Sie innerhalb der Schleife eine if-Anweisung, um zu prüfen, ob count gleich 3 ist
Wenn die Anzahl 3 beträgt, wird eine Nachricht gedruckt
Erhöhen Sie die Anzahl am Ende jeder Iteration um 1
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1
Ausgabe
Count is 3
Zeitkomplexität: O(n), wobei n die Anzahl der Iterationen ist, die erforderlich sind, damit count 5 erreicht.
Hilfsraum: O(1), da im gesamten Code nur eine Variable (Anzahl) verwendet wird.
Quiz erstellen