itertools uso de la biblioteca

La mayor parte de la función de la biblioteca es volver itertools objeto varias iteraciones

itertools.accumulate  

Sub acumulada, devuelve un iterador

>>> itertools importación
>>> x = itertools.accumulate (rango (9))
>>> x
<itertools.accumulate objeto en 0x02E22B98>
>>> lista (x)
[0, 1, 3, 6, 10, 15 , 21, 28, 36]

itertools.chain ()

Lista de conexiones o iterador devuelve un iterador

>>> x = itertools.chain (intervalo (3), gama (5), [2,4,5,8])
>>> lista (x)
[0, 1, 2, 0, 1, 2, 3 , 4, 2, 4, 5, 8]
>>> x
<itertools.chain objeto en 0x02E10A50>

itertools.combinations

Constructor o lista de requisitos especificados número de elementos no se repetirá para todas las combinaciones

Si es requerido por la singularidad de los elementos, el único tratamiento necesario hacer primero

>>> x = itertools.combinations ([2,3,4,4], 3)
>>> lista (x)
[(2, 3, 4), (2, 3, 4), (2, 4, 4), (3, 4, 4)]
>>> x = itertools.combinations (intervalo (4), 3)
>>> lista (x)
[(0, 1, 2), (0, 1, 3) , (0, 2, 3), (1, 2, 3)]

itertools.combinations_with_replacement

la repetición de elementos en combinación permite

>>> x = itertools.combinations_with_replacement ( "ABC", 2)
>>> lista (x)
[( 'A', 'A'), ( 'A', 'B'), ( 'A', 'C '), (' B', 'B'), ( 'B', 'C'), ( 'C', 'C')]

itertools.compress

Elemento de filtro de acuerdo con la tabla de verdad

>>> x = itertools.compress (intervalo (3), (1,0,1))
>>> lista (x)
[0, 2]
>>> x = itertools.compress (intervalo (3), (True , False, True))
lista >>> (x)
[0, 2]

itertools.islice

iterador en rodajas

>>> x = itertools.islice (intervalo (12), 0,9,2)
>>> lista (x)
[0, 2, 4, 6, 8]

itertools.count

Es un mostrador, y puede especificar la posición de partida de la etapa de

>>> x = itertools.count (inicio = 20, paso = -1)
>>> lista (itertools.islice (x, 0,15,1))
[20, 19, 18, 17, 16, 15, 14 , 13, 12, 11, 10, 9, 8, 7, 6]

itertools.cycle

Ciclo lista y iteradores especificada

>>> x = itertools.cycle ( 'abc')
>>> lista (itertools.islice (x, 0,5,1))
[ 'a', 'b', 'c', 'a', 'b ']
>>> x = itertools.cycle ([1,2,3])
>>> lista (itertools.islice (x, 0,5,1))
[1, 2, 3, 1, 2]
>> > x = itertools.cycle (de alcance (3))
>>> lista (itertools.islice (x, 0,5,1))
[0, 1, 2, 0, 1]

itertools.dropwhile

Desechó y el elemento de la lista anterior de acuerdo iterador funciones de verdad

>>> x = itertools.dropwhile (lambda t: t <5, gama (3,8))
>>> lista (x)
[5, 6, 7]

itertools.takewhile

En contraste con los elementos de retención dropwhile funcionar hasta que el valor verdadero es falso.

>>> x = itertools.takewhile (lambda t: t <5, gama (3,8))
>>> lista (x)
[3, 4]

itertools.filterfalse

elementos de retención correspondientes al verdadero valor de False

>>> x = itertools.filterfalse (lambda t: t <5, gama (3,8))
>>> lista (x)
[5, 6, 7]

itertools.groupby

Los elementos se agrupan por el valor de la función del paquete

>>> x = itertools.groupby (intervalo (20), lambda x: x <5 o x> 12)
>>> para la condición, los números en x:
... de impresión (estado, lista (números))
...
La verdadera [0, 1, 2, 3, 4]
False [5, 6, 7, 8, 9, 10, 11, 12]
Verdadero [13, 14, 15, 16, 17, 18, 19]

itertools.permutations

Generación de un número especificado de todas las permutaciones de elementos (orden dependiente)

>>> x = itertools.permutations (intervalo (4), 3)
>>> lista (x)
[(0, 1, 2), (0, 1, 3), (0, 2, 1), (0 , 2, 3), (0, 3, 1), (0, 3, 2), (1, 0, 2), (1, 0, 3), (1, 2, 0), (1, 2 , 3), (1, 3, 0), (1, 3, 2), (2, 0, 1), (2, 0, 3), (2, 1, 0), (2, 1, 3 ), (2, 3, 0), (2, 3, 1), (3, 0, 1), (3, 0, 2), (3, 1, 0), (3, 1, 2), (3, 2, 0), (3, 2, 1)]

itertools.product

Generar una pluralidad de listas y iteradores (producto)

>>> x = itertools.product ( 'ABC', gama (5))
>>> lista (x)
[( 'A', 0), ( 'A', 1), ( 'A', 2), ( 'A', 3), ( 'A', 4), ( 'B', 0), ( 'B', 1), ( 'B', 2), ( 'B', 3), (' B', 4), ( 'C', 0), ( 'C', 1), ( 'C', 2), ( 'C', 3), ( 'C', 4)]

itertools.repeat

iterador sencilla ha generado un número determinado de elementos

>>> x = itertools.repeat (0,5)
>>> lista (x)
[0, 0, 0, 0, 0]
>>> x = itertools.repeat (2,5)
>>> lista (x )
[2, 2, 2, 2, 2]

itertools.starmap

mapa similar

>>> x = itertools.starmap (str.islower, 'sdSdfDdDWsdf')
>>> lista (x)
[Verdadero, True, False, True, True, False, True, False, False, True, True, True]

itertools.tee (iter o lista, num)

>>> x = itertools.tee (intervalo (5), 3)
>>> type (x)
<clase 'tupla'>
>>> lista (x [0])
[0, 1, 2, 3, 4]
>>> lista (x [1])
[0, 1, 2, 3, 4]
>>> lista (x [2])
[0, 1, 2, 3, 4]
>>> x
(<itertools. _tee objeto en 0x02E27918>, <itertools._tee objeto en 0x02E27968>, <itertools._tee objeto en 0x02E27990>)

itertools.zip_longest

Al igual que en zip, pero cuanto mayor sea la longitud de la lista y los iteradores prevalecen

>>> x = itertools.zip_longest (intervalo (5), [1,2,4])
>>> lista (x)
[(0, 1), (1, 2), (2, 4), (3 , Ninguna), (4, Ninguna)]

Referencia Dirección: https://www.jb51.net/article/123094.htm

Supongo que te gusta

Origin www.cnblogs.com/hongliangzhao/p/12669055.html
Recomendado
Clasificación