método Python de itertools.product

itertools.product: una pluralidad de requisitos similares iterables producto cartesiano.

Se utiliza en la forma de:

itertools.product (* iterables, repita = 1),

producto (X, repita = 3) es equivalente al producto (X, X, X).

1. El uso directo: generar tuplas, a continuación, una síntesis de la lista

Importar el itertools 
AA = El itertools.product ([ ' Tíbet ' , ' cae ' , ' agua ' ], [ ' Luna ' , ' estrella ' ]) 
BB = Lista (AA)    # fin generada producto cartesiano, el valor predeterminado es la REPETICIÓN 1 
Imprimir (bb)

2. Suponiendo que proporcionan: Repetición = 3

= Lista random_list (El itertools.product ([ ' Tíbet ' , ' cae ' , ' agua ' ], [ ' luna ' , ' estrella ' ], = REPEAT. 3 ))
 Imprimir (random_list)   # Esta longitud de la lista 216

¿Por qué es 216?

En primer lugar, no se proporciona los parámetros de repetición, el valor predeterminado es 1, la generación de la lista de una longitud de 6 - que puede ser representado por permutaciones matemáticas y combinaciones, desde el primer parámetro  [ "Tibet '' cae, 'agua']  recupera un valor, hay tres posibles; el segundo argumento  [ 'luna', 'Star']  recupera un valor, hay dos posibilidades, de modo que 2 * 3 = 6 tipos de resultados.

Entonces, cuando el conjunto de repetición = 3 Cuando ese es el = 1 resultados (por defecto) de repetición después de repetidas dos veces (es decir, un total de de los últimos tres conjuntos de resultados como una primera capa) más permutaciones y combinaciones , de la primera los resultados (seis tipos resultado) puede tomar uno de los seis tipos de elementos, la misma razón, un elemento tomado de la segunda y tercera repetición podría tener seis tipos de resultados, por lo que tienen una combinación de 6 * 6 * 6 = 216 especies.

 Por supuesto, también ser sintetizado por primera vez y después una tupla que consiste en la lista.

3. para que pueda entender los resultados de abajo son 27 tipos de ella

List = random_list (El itertools.product ([ ' Tíbet ' , ' cae ' , ' agua ' ], = REPETIR. 3 ))
 Imprimir (random_list)

Debido a que el resultado de la primera capa 3 es posible; hacer esto tres veces , en la formación de tres conjuntos como resultado de (la primera capa tienen cada uno tres resultados posibles ), entonces las permutaciones es de 3 * 3 * 3 = 27 tipos de resultados.

4. Si el tomado al azar de los elementos de la lista no se repetirá varias palabras ( la lista original de los elementos no se repite ), método random.sample disponible.

Importación Random 
random.seed ( . 1)    # Establecer semilla aleatoria, el mismo resultado se puede utilizar para detectar si el número aleatorio obtienen de acuerdo 

n = 2 
AA = random.sample (random_list, n)    # lista aleatoria de n elementos 
Imprimir (AA )

Es decir, a partir de los resultados anteriores, 27 tipos, dos tipos de retirado al azar, para dar:

5. Este método puede ser usado para coordinar la generación aleatoria, generando otro coordenadas aleatorias Método: https://www.cnblogs.com/qi-yuan-008/p/12564710.html

Lista = random_list (El itertools.product (Rango (l, 4), Cadena de (1,2 )))
 Imprimir (random_list) 

n = 2 
AA = random.sample (random_list, n)    # lista aleatoria de n elementos 
Imprimir ( aa)

 

referencia:

https://segmentfault.com/q/1010000007715239?_ea=1447720

https://www.cnblogs.com/xxxxxxxxx/p/11544432.html

Supongo que te gusta

Origin www.cnblogs.com/qi-yuan-008/p/12577249.html
Recomendado
Clasificación