I'm playing with 2D arrays to make a random sequence generator. I'm trying to generate 10 lists of 6 integers each, without replacement, inside a 2D array. The integers allowed are between 0 and 100. However, I keep getting list index out of range errors, and can't work out why. Here's my code:
import random
numbers = [i for i in range(100)]
picked = []
unpicked = []
lines = [[0 for x in range(6)] for j in range(10)]
for i in range(10):
for j in range(6):
unpicked = [x for x in numbers+picked if x not in picked]
lines[i][j] = unpicked[random.randint(0,99)]
picked.append(lines[i][j])
pickedgrows its size,unpickedwill get smaller and you userandint(0, 99)which might generate numbers that is bigger thanunpicked's size. Thus, an error is thrown.