请写一个把一个集合转为包含其所有排列的集合的函数

请写一个把一个集合转为包含其所有排列的集合的函数
例: (1 2 3)=> ((1 2 3) (1 3 2) (2 1 3) (2 3 1) (3 1 2) (3 2 1))

这个问题我也想问,不知道怎么处理

for i in a:
for j in a and j!=i:
for k in a and k!=i and k!=j:
(i,j,k)
解释一下,a是原来的集合,对集合的每一位置都取遍所有的值,并且各个位置不想等,遍历得到新集合。