intervalos para guitarra
Imagina que entre la equipación deportiva que incluye tu armariofiguran camisetas de cuatro colores: blanco, verde, azul y amarillo. Dispones, además, de tres tipos de pantalones: largo, medio y corto.
¿De cuántas maneras distintas podrías vestirte para salir acorrer?
La respuesta la facilita el concepto de producto cartesiano, que con certeza estudiaste en los primeros cursos de matemáticas. Un breve repaso…
Sean dos conjuntos independientes A y B, alconjunto de todas las agrupaciones posibles que se forman tomando un elemento de A y otro de B, se le denomina producto cartesiano de A y B y se denota como A x B.
Además, el número de elementos de queconsta A x B es el número de elementos de A multiplicado por el número de elementos de B.
Para referirnos al número de elementos de un conjunto recurrimos al término cardinal, de modo que:
card(A xB) = card(A) x card(B)
Este concepto es extensible a más de dos conjuntos: el cardinal del producto cartesiano de varios conjuntos es el producto de los cardinales individuales.
En nuestro ejemplo,si tenemos cuatro tipos de camisetas y tres de pantalones, dispondremos de 12 maneras diferentes de vestirnos.
Nuestra labor pythonesca va a ser listar todos estos pares y para ello recurriremos a latécnica de las listas por comprensión que presentamos en los últimos artículos y que ahora refinaremos de un modo particular.
Comencemos definiendo las estructuras:
>>> camisetas = {'blanca','verde', 'azul', 'amarilla'}
>>> pantalones = {'largo', 'medio', 'corto'}
He elegido conjuntos por mayor similitud conceptual, pero, naturalmente, puedes emplear cualquier tipo de secuencia como laslistas o las tuplas.
Creemos nuestra lista por comprensión:
1) Recorremos el iterable:
for c in camisetas for p in pantalones
Esta es el punto crítico al que quería llegar. En las listas por...
Regístrate para leer el documento completo.