[Autoevaluación][Tipos] Pregunta 7

[Autoevaluación][Tipos] Pregunta 7

de Martin Pacheco -
Número de respuestas: 1

Tengo una duda respecto a este ejercicio:

bar xs = [ (x,y) | x <‑ xs, y <‑ xs, x == y ]
de manera que la expresión (bar [1,2,1,3]) retorne [(1,1),(1,1),(2,2),(1,1),(1,1),(3,3)].

No logro ver como se pueden generar las parejas seguidas de (1,1).

En respuesta a Martin Pacheco

Re: [Autoevaluación][Tipos] Pregunta 7

de Martin Pacheco -

Me autorespondo porque ya me explicaron:

El detalle que se me estaba escapando es que cuando se usa mas de una variable en una lista por compresión, entonces se van a generar todas las combinaciones de ambas listas. En este caso el que sean la misma lista me mareó y creí que se hacia una sola "pasada" por la lista donde x valia siempre lo mismo que y. Cuando aunque sean la misma lista, las iteraciones en cada una de ellas es independiente.