Ok. Sigo probando, pero ahora me da error de sintaxis. Con listas comprimidas he realizado cosas básicas. Y claro, quería aprender bien lo que se puede y no se puede hacer.
Código Python:
Ver originalimport random
filtro = [1,2,3,4]
filtrada = [i for i in range(10) for j in range(random.randint(1,20)) if not j in filtro]
Pero me sale esto:
Código Python:
Ver original>>> filtrada
[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9]
Lo que yo quiero es que me dé números aleatorios y que no sean el 1,2,3,4. Osea, de la lista filtro.
Resumiendo...
Me gustaría saber si esto se puede hacer con una lista comprimida/filtrada:
Código Python:
Ver originalimport random
filtro = [1,2,3,4]
for i in range(10):
a = random.randint(1,20)
if not a in filtro:
filtrada.append(a)
Si ejecutáis el código, nunca sale el 1,2,3 o 4. Que es lo que quiero.