Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie das itertools-Modul der Python-Standardbibliothek

So verwenden Sie das itertools-Modul der Python-Standardbibliothek

高洛峰
高洛峰Original
2017-03-21 11:27:541807Durchsuche

Einführung

Offizielle Beschreibung: Funktionale Tools zum Erstellen und Verwenden von Iteratoren. Das heißt, Funktionen zum Erstellen effizienter Iteratoren.

itertools.chain(*iterable)

Mehrere Sequenzen als eine einzelne Sequenz zurückgeben.
Zum Beispiel:

import itertools
for each in itertools.chain('i', 'love', 'python'):
    print each

Ausgabe:

i
l
o
v
e
p
y
t
h
o
n

itertools.combinations(iterable, r)

Gibt „Kombinationen“ der angegebenen Länge zurück
Zum Beispiel:

import itertools
for each in itertools.combinations('abc', 2):
    print each

Ausgabe:

('a', 'b')
('a', 'c')
('b', 'c')

itertools.combinations_with_replacement(iterable, r)

Gibt eine „Kombination“ der angegebenen Länge und der zurück Elemente in der Kombination können wiederholt werden
Zum Beispiel:

import itertools
for each in itertools.combinations_with_replacement('abc', 2):
    print each

Ausgabe:

('a', 'a')
('a', 'b')
('a', 'c')
('b', 'b')
('b', 'c')
('c', 'c')

itertools.product(*iterable[,repeat])

Gibt alle Kombinationen der angegebenen Länge zurück, die als kartesisches Produkt verstanden werden können
Zum Beispiel:

import itertools
for each in itertools.product('abc', repeat=2):
    print each

('a', 'a')
('a', 'b' )
('a', 'c')
('b', 'a')
('b', 'b')
('b', 'c')
('c', 'a')
('c', 'b')
('c', 'c')

itertools.premutations(iteravle[,r] )

Gibt eine Permutation der Länge r zurück
Zum Beispiel:

import itertools
for value in itertools.permutations('abc', 2):
    print value

Ausgabe:

('a', 'b')
('a', 'c')
('b', 'a')
('b', 'c')
('c', 'a')
('c', 'b')

itertools.compress(data,selector)

Gibt das entsprechende Datenelement mit Selektor als „True“ zurück
Zum Beispiel:

import itertools
for each in itertools.compress('abcd', [1, 0, 1, 0]):
    print each

Ausgabe:

a
c

itertools.count(start=0, step=1)

Gibt eine Sequenz zurück, die mit „start“ beginnt und schrittweise ansteigt.
Zum Beispiel:

import itertools
for each in itertools.count(start=0, step=2):
    print each

Ausgabe:

1
2
3
.
.

itertools.cycle(iterable )

Iterator endlos iterieren
Zum Beispiel:

import itertools
for each in itertools.cycle('ab'):
    print each

Ausgabe:

a
b
a
b
.
.

itertools.dropwhile(predicate, iterable)

Bis das Prädikat wahr ist, werden iterierbare Folgedaten zurückgegeben, andernfalls werden sie gelöscht
Zum Beispiel:

import itertools
for each in itertools.dropwhile(lambda x: x<5, [2,1,6,8,2,1]):
    print each

Ausgabe:

6
8
2
1

itertools.groupby(iterable[,key])

Gibt eine Gruppe (Schlüssel, Itera) zurück, der Schlüssel ist der Wert von iterierbar, Itera sind alle Elemente, die dem Schlüssel entsprechen
Zum Beispiel:

import itertools
for key, vale in itertools.groupby('aabbbc'):
    print key, list(vale)

Ausgabe:

a ['a', 'a']
b ['b', 'b', 'b']
c ['c']

itertools.ifilter(predicate, iterable)

Gibt einen Elementiterator zurück, dessen Prädikatergebnis „True“ ist. Wenn das Prädikat „None“ ist, werden alle Elemente in iterable zurückgegeben, die „True“ sind.
Beispiel:

import itertools
for value in itertools.ifilter(lambda x: x % 2, range(10)):
    print value

Ausgabe:

1
3
5
7
9

itertools .ifilterfasle(predicate,iterable)

Gibt das Element zurück, dessen Prädikat False ist, werden alle Elemente in iterable zurückgegeben die falsch sind
Zum Beispiel:

import itertools
for value in itertools.ifilterfalse(lambda x: x % 2, range(10)):
    print value

Ausgabe:

0
2
4
6
8

itertools.imap(function,*iterables)

Entspricht map() in Iteratormodus
Zum Beispiel:

import itertools
for value in itertools.imap(lambda x, y: x+y, (1,2,3), (4,5,6)):
    print value

Ausgabe:

5
7
9

itertools.islice(iterable, start,stop[,step])

Entspricht Iteratorbasierter Slicing-Vorgang
Zum Beispiel:

import itertools
for value in itertools.islice('abcdefg', 1, 4, 2):
    print value

Ausgabe:

b
d

itertools.repeat(object,[,times])

Kehrt kontinuierlich zurück das Objektobjekt. Wenn Zeiten angegeben sind, werden Zeiten zurückgegeben
Beispiel:

import itertools
for value in itertools.repeat('a', 2):
    print value

Ausgabe:

a
a

itertools.starmap(function,iterable)

Gibt den Wert von function(iter) zurück, iter ist das Element von iterable
Zum Beispiel:

import itertools
for value in itertools.starmap(lambda x, y: x * y, [(1, 2), (3, 4)]):
    print value

Ausgabe:

2
12

itertools.takewhile(predicate ,iterable)

Gibt das iterierbare Element zurück, wenn das Prädikat wahr ist, nicht, wenn es falsch ist. Erneut zurückgeben, unterbrechen.
Zum Beispiel:

import itertools
for value in itertools.takewhile(lambda x: x < 5, [1, 3, 5, 6]):
    print value

Ausgabe:

1
3

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das itertools-Modul der Python-Standardbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn