Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2014, 01:48
Koan
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 14 años, 11 meses
Puntos: 9
Compresión y filtrado de una lista con random.randint

Hola!

Estoy probando las listas comprimidas y el filtrado de las mismas. Pensaba crear una lista con valores numéricos que hiciera de filtro. Luego, en la lista comprimida se crearían números aleatorios con random.randint filtrados por la primera lista.

Ejemplo:

Código Python:
Ver original
  1. filtro = [1,2,3,10]

Código Python:
Ver original
  1. filtrada = [random.randint(1,20) for i in range(10) if not i in filtro]

Código Python:
Ver original
  1. >>> filtrada
  2. [18, 8, 3, 15, 5, 3, 8]

Pero como podéis ver, no funciona. Ya que aparece el número 3 que esta en la lista filtro. Por lo tanto, no se hasta que punto de códigos se puede poner en las listas comprimidas. O si deben ser códigos simples.

En el ejemplo, la salida debería ser una lista de 10 números del 1 al 20. Y que entre ellos no estuviera ni el 1,2,3 y el 10. Algo hago mal...