Iteratorfunktionen in Python | Set 2 (islice (), starmap (), tee () ..)

| |

1. islice (iterierbar, start, stop, step) : — dieser Iterator druckt selektiv die Werte, auf die in seinem iterierbaren Container verwiesen wird, der als Argument übergeben wird. Dieser Iterator benötigt 4 Argumente, einen iterativen Container, Startposition, Endposition und Stride.

2. Sternenkarte (Funktion, Liste der Tupel) : — Dieser Iterator nimmt eine Funktion und eine Liste von Tupeln als Argument und gibt einen Wert entsprechend der Funktion von jedem Tupel in der Liste zurück.


# Python-Code zur Demonstration der Funktionsweise
# islice () und starmap ()


# import & quot; itertools & Quot; für Iteratoroperationen

import itertools


# Liste initialisieren

li = [ 2 , 4 , 5 , 7 , 8 , 10 , 20 ]


# Initialisiere die Liste der Tupel

li1 = [( 1 , 10 , 5 ), ( 8 , 4 , 1 ), ( 5 , 4 , 9 ), ( 11 , 10 , 1 )]

< br> # Verwendung von islice (), um die Liste entsprechend aufzuteilen. .muss
# beginnt mit dem Drucken vom 2. Index bis zum 6. überspringe 2

print ( "Die geteilten Listenwerte sind:" , end = "")

print ( list (itertools.islice (li, 1 , 6 , 2 )))


# Verwendung von starmap (), um einen Wert gem. function
# wählt das Minimum aller Tupelwerte aus

print ( "Die Werte laut Funktion sind:" , Ende = "")

print ( list (itertools.starmap ( min , li1)))

Ausgabe:

Die Aufgeschnittene Listenwerte sind: [4, 7, 10] Die Werte gem. zu funktionieren sind: [1, 1, 4, 1] 

3. takewhile (funktion, iterierbar) : — Dieser Iterator ist das Gegenteil von drop while (), er gibt die Werte aus, bis die Funktion beim ersten Mal falsch zurückgibt.

4. tee (Iterator, Anzahl) : — Dieser Iterator teilt den Container in mehrere Iteratoren auf, die im Argument erwähnt werden.


< tbody>

# Python-Code zur Demonstration der Funktionsweise
# takewhile ( ) und tee ()


# import & quot; itertools & Quot; für Iteratoroperationen

import itertools


# Liste initialisieren

li = [ 2 , 4 , 6 , 7 , 8 , 10 , 20 ]


# speichere die Liste in einem Iterator

iti = iter ( li)


# Verwendung von takewhile () zum Drucken von Werten bis zum Bedingung ist falsch.

print ( " Die Listenwerte ​bis zum 1. falschen Wert sind: " , end = " ")

print ( list (itertools.takewhile ( lambda x: x % 2 = = 0 , li)))


# using tee () Iteratoren auflisten
# Erstellt eine Liste von 3 Iteratoren, die den gleichen Wert haben.

it = itertools.tee (iti , 3 )


# Iteratorwerte drucken

print ( "Die Iteratoren sind:" )

für i im Bereich ( 0 , 3 ):

print ( list (it [i]))

Ausgabe:

Die Listenwerte t ill 1. falscher Wert sind: [2, 4, 6] Die Iteratoren sind: [2, 4, 6, 7, 8, 10, 20] [2, 4, 6, 7, 8, 10, 20] [2, 4, 6, 7, 8, 10, 20] 

5. zip_longest (Iterable1, Iterable2, Fillval.) : — dieser Iterator gibt die Werte der Iterables einzeln aus. Wenn eine der Iterationen vollständig gedruckt wird, werden die restlichen Werte mit den Fillvalue zugewiesenen Werten gefüllt.


# Python-Code zur Demonstration der Funktionsweise
# zip_longest ()


# Import & Quot; itertools & Quot; für Iteratoroperationen

import itertools


# Verwenden von zip_longest (), um die beiden Iterationen zu kombinieren.

print ( "Die kombinierten Werte ​von Iterables ist:" )

print ( * (itertools.zip_longest ( ’GesoGes’ , ’ ekfrek’ , fillvalue = ’_’ )))

Ausgabe:

Die kombinierten Werte der Iterablen sind: (’G’,’ e’) (’e’,’ k’) (’s’,’ f’) ( ’o’,’ r ’) (’ G’, ’e’) (’ e’, ’k’) (’ s’, ’_’) 

Kombinatorische Iteratoren

1. Produkt (iter1, iter2) : — Dieser Iterator gibt das kartesische Produkt der beiden als Argumente übergebenen iterierbaren Container aus.

2. Permutationen (iter, group_size) : — Dieser Iterator gibt alle möglichen Permutationen aller Elemente des Iterablen aus. Die Größe jeder Permutationsgruppe wird durch das Argument group_size bestimmt.


# Python- Democode
# product () and permutation ()


# import & quot; itertools & Quot; für Iteratoroperationen

import itertools


# Verwendung von product () zum Drucken eines kartesischen Produkts

print ( "Das kartesische Produkt der Container ist:" )

print ( list (itertools.product ( ’AB’ , ’ 12’ )))


# Permutationen verwenden, um alle möglichen Permutationen zu berechnen

print ( "Alle Permutationen des angegebenen Containers sind:" )

print ( list (itertools.permutations ( ’GfG’ , 2 )))

Ausgabe :


Das kartesische Produkt der Container ist: [(’A’, ’1’), (’ A’, ’2’), (’ B’, ’1’), (’ B’, ’2’)] Alle Permutationen des angegebenen Containers sind: [(’ G’, ’f’), (’ G’, ’G’), (’ f’, ’G’), (’f’, ’G’), (’G’, ’G’), (’G’, ’f’)] 

3. Kombinationen (iterierbar, Gruppengröße) : — dieser Iterator gibt alle möglichen Kombinationen (kein Ersatz) des in Argumenten übergebenen Containers in der angegebenen Gruppengröße in sortierter Reihenfolge aus.

4. Combinations_with_Replacement (Iterable, Group_Size) : — dieser Iterator gibt alle möglichen Kombinationen (mit Ersetzung) des in Argumenten übergebenen Containers in der angegebenen Gruppengröße in sortierter Reihenfolge aus.


# Python-Code zur Veranschaulichung der Funktionsweise
# Combination () und Combination_with_replacement ()


# import & quot; itertools & Quot; für Iteratoroperationen

import itertools


# Kombinationen verwenden (), um jede Kombination zu drucken
# (ohne Ersetzungen)

print ( "Die gesamte Containerkombination in sortierter Reihenfolge (ohne Ersatz) ist: " )

print ( list (itertools.combinations ( ’1234’ , 2 )))


# Verwendung von Combination_with_replacement (), um jede Kombination
# mit Ersetzung

zu drucken print ( "Die gesamte Containerkombination in sortierter Reihenfolge (mit Ersetzung) ist:" )

print ( list (itertools.combinations_with_replacement ( ’GfG’ , 2 )))

Ausgabe:

Die gesamte Container-Kombination in sortierter Reihenfolge (ohne Ersatz) ist: [(’1’,’ 2 ’), (’ 1’ , ’3’), (’ 1’, ’4’), (’ 2’, ’3’), (’ 2’, ’4’), (’ 3’, ’4 ’)] Alle Kombinationen von Container in sortierter Reihenfolge (mit Ersatz) ist: [(’ G’, ’G’), (’ G’, ’f’), (’ G’, ’G’), (’ f’, ’f’) , (’ f’, ’G’), (’ G’, ’G’)] 

Unendliche Iteratoren

1. zählen (Start, Schritt) : — Dieser Iterator beginnt mit dem Drucken bei "Start" und druckt unbegrenzt . Wenn Schritte erwähnt werden, werden Zahlen übersprungen, andernfalls ist Schritt standardmäßig 1.

Beispiel:

iterator.count (5,2) gibt - 5,7,9,11 aus. . . . unendlich 

2. Schleife (iterierbar) : — Dieser Iterator druckt alle Werte der Reihe nach aus dem übergebenen Container. Es setzt den Druck wieder von Anfang an fort, wenn alle Elemente durchlaufen wurden.

Beispiel:

iterator.cycle ([1,2,3,4]) Ausdrucke - 1,2,3,4,1,2,3,4,1 ... unendlich 

3. Wiederholung (val, num) : — Dieser Iterator gibt wiederholt den übergebenen Wert unendlich oft aus. Wenn eine Zahl genannt wird, sind sie bis zu dieser Zahl.


# Python-Code zur Demonstration der Funktionsweise
# repeat ()


# import & quot; itertools & Quot; für Iteratoroperationen

import itertools


# Verwendung von repeat (), um die Zahl wiederholt auszugeben

print ( "Zahlen wiederholt drucken:" )

print ( list (itertools.repeat ( 25 , 4 )))

Ausgabe:

Zahlen wiederholt drucken: [25, 25, 25, 25] 

Dieser Artikel wurde mit freundlicher Genehmigung von Manjeet Singh zur Verfügung gestellt. Wenn Sie Python.Engineering sind und einen Beitrag leisten möchten, können Sie auch einen Artikel schreiben, indem Sie Contribute.python.engineering verwenden oder einen Artikel posten Tragen Sie bei @ python.engineering bei. Sehen Sie sich meinen Artikel an, der auf der Python.Engineering-Startseite erscheint, und helfen Sie anderen Geeks.

Bitte posten Sie Kommentare, wenn Sie etwas falsch finden oder wenn Sie weitere Informationen zu dem oben diskutierten Thema teilen möchten .