El kit de itertools en Python
Bloques de construcción de la biblioteca estándar para iteradores.
import itertools
primeros_diez = list(itertools.islice(itertools.count(1), 10))
unido = list(itertools.chain("abc", "def"))
parejas = list(itertools.pairwise([1, 3, 6, 10]))
repetido = list(itertools.repeat("na", 4))
acumulado = list(itertools.accumulate([1, 2, 3, 4]))
mazos = itertools.product("AB", [1, 2])
combinaciones = list(itertools.combinations("abc", 2))
Cómo funciona
islicetoma un corte de uncountsin fin.chainypairwiseunen secuencias y les abren ventanas.accumulateycombinationscubren sumas acumuladas y pares.
Palabras clave y builtins usados aquí
list
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 367
- Tokens
- 121
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 69 segundos.
Paso 3 de 5 en Generadores e itertools; paso 12 de 53 en Python pythónico.