Here's something i just came up with:
def permute(elements):
permutations=[]
for i in range(999999):
tmp_elements = elements.copy()
candidate = []
while len(tmp_elements)>0:
index = random.randint(0,len(tmp_elements)-1)
candidate.append(tmp_elements[index])
tmp_elements.pop(index)
if candidate not in permutations:
permutations.append(candidate)
permutations.sort()
return permutations