Если я не ошибаюсь, перестановки в вашем случае в основном перетасовывают список таким образом, чтобы ни одно число не повторялось, возможно, вы можете сделать:
from random import shuffle
samps = []
count = 0
while count < 10:
j = list(range(15))
shuffle(j)
if j not in samps:
samps.append(j)
count += 1
Это дает:
[[0, 11, 13, 14, 1, 9, 6, 4, 5, 3, 7, 10, 2, 12, 8],
[10, 1, 9, 2, 4, 0, 13, 14, 5, 8, 12, 7, 11, 3, 6],
[3, 13, 6, 4, 12, 5, 0, 2, 10, 7, 1, 8, 11, 9, 14],
[1, 10, 13, 7, 11, 9, 8, 4, 14, 0, 12, 2, 3, 6, 5],
[9, 8, 7, 11, 3, 10, 6, 5, 4, 0, 14, 12, 1, 13, 2],
[3, 11, 6, 8, 1, 4, 12, 14, 7, 5, 13, 0, 10, 9, 2],
[5, 13, 8, 3, 0, 9, 1, 4, 11, 12, 6, 14, 2, 10, 7],
[11, 1, 0, 2, 13, 12, 14, 3, 6, 10, 9, 7, 4, 8, 5],
[12, 10, 6, 7, 2, 13, 3, 0, 1, 8, 4, 11, 14, 5, 9],
[2, 5, 7, 9, 4, 12, 14, 6, 3, 10, 8, 13, 11, 0, 1]]