python 从列表中随机取五个数,不能重复,并将所有情况以列表存储,删除每个情况同位置下出现两次以上的情况
时间: 2023-12-25 21:05:09 浏览: 32
你可以使用 `random.sample()` 函数来随机从列表中取出不重复的五个数,并使用 `itertools.permutations()` 函数来生成所有的排列情况。最后,遍历所有情况并删除同位置下出现两次以上的情况。
以下是示例代码:
```python
import random
import itertools
# 生成 1 到 10 的整数列表
nums = list(range(1, 11))
# 随机选择 5 个不重复的数
selected_nums = random.sample(nums, 5)
# 生成所有排列情况
perms = list(itertools.permutations(selected_nums))
# 遍历所有排列情况,并删除同位置下出现两次以上的情况
unique_perms = []
for perm in perms:
if perm.index(perm[0]) == 0 and perm.index(perm[1]) == 1 and perm.index(perm[2]) == 2 and perm.index(perm[3]) == 3 and perm.index(perm[4]) == 4:
unique_perms.append(perm)
# 输出结果
print(unique_perms)
```
输出示例:
```
[(2, 5, 7, 4, 9), (2, 5, 7, 9, 4), (2, 5, 4, 7, 9), (2, 5, 4, 9, 7), (2, 5, 9, 7, 4), (2, 5, 9, 4, 7), (2, 7, 5, 4, 9), (2, 7, 5, 9, 4), (2, 7, 4, 5, 9), (2, 7, 4, 9, 5), (2, 7, 9, 5, 4), (2, 7, 9, 4, 5), (2, 4, 5, 7, 9), (2, 4, 5, 9, 7), (2, 4, 7, 5, 9), (2, 4, 7, 9, 5), (2, 4, 9, 5, 7), (2, 4, 9, 7, 5), (2, 9, 5, 7, 4), (2, 9, 5, 4, 7), (2, 9, 7, 5, 4), (2, 9, 7, 4, 5), (2, 9, 4, 5, 7), (2, 9, 4, 7, 5), (5, 2, 7, 4, 9), (5, 2, 7, 9, 4), (5, 2, 4, 7, 9), (5, 2, 4, 9, 7), (5, 2, 9, 7, 4), (5, 2, 9, 4, 7), (5, 7, 2, 4, 9), (5, 7, 2, 9, 4), (5, 7, 4, 2, 9), (5, 7, 4, 9, 2), (5, 7, 9, 2, 4), (5, 7, 9, 4, 2), (5, 4, 2, 7, 9), (5, 4, 2, 9, 7), (5, 4, 7, 2, 9), (5, 4, 7, 9, 2), (5, 4, 9, 2, 7), (5, 4, 9, 7, 2), (5, 9, 2, 7, 4), (5, 9, 2, 4, 7), (5, 9, 7, 2, 4), (5, 9, 7, 4, 2), (5, 9, 4, 2, 7), (5, 9, 4, 7, 2), (7, 2, 5, 4, 9), (7, 2, 5, 9, 4), (7, 2, 4, 5, 9), (7, 2, 4, 9, 5), (7, 2, 9, 5, 4), (7, 2, 9, 4, 5), (7, 5, 2, 4, 9), (7, 5, 2, 9, 4), (7, 5, 4, 2, 9), (7, 5, 4, 9, 2), (7, 5, 9, 2, 4), (7, 5, 9, 4, 2), (7, 4, 2, 5, 9), (7, 4, 2, 9, 5), (7, 4, 5, 2, 9), (7, 4, 5, 9, 2), (7, 4, 9, 2, 5), (7, 4, 9, 5, 2), (7, 9, 2, 5, 4), (7, 9, 2, 4, 5), (7, 9, 5, 2, 4), (7, 9, 5, 4, 2), (7, 9, 4, 2, 5), (7, 9, 4, 5, 2), (4, 2, 5, 7, 9), (4, 2, 5, 9, 7), (4, 2, 7, 5, 9), (4, 2, 7, 9, 5), (4, 2, 9, 5, 7), (4, 2, 9, 7, 5), (4, 5, 2, 7, 9), (4, 5, 2, 9, 7), (4, 5, 7, 2, 9), (4, 5, 7, 9, 2), (4, 5, 9, 2, 7), (4, 5, 9, 7, 2), (4, 7, 2, 5, 9), (4, 7, 2, 9, 5), (4, 7, 5, 2, 9), (4, 7, 5, 9, 2), (4, 7, 9, 2, 5), (4, 7, 9, 5, 2), (4, 9, 2, 5, 7), (4, 9, 2, 7, 5), (4, 9, 5, 2, 7), (4, 9, 5, 7, 2), (4, 9, 7, 2, 5), (4, 9, 7, 5, 2), (9, 2, 5, 7, 4), (9, 2, 5, 4, 7), (9, 2, 7, 5, 4), (9, 2, 7, 4, 5), (9, 2, 4, 5, 7), (9, 2, 4, 7, 5), (9, 5, 2, 7, 4), (9, 5, 2, 4, 7), (9, 5, 7, 2, 4), (9, 5, 7, 4, 2), (9, 5, 4, 2, 7), (9, 5, 4, 7, 2), (9, 7, 2, 5, 4), (9, 7, 2, 4, 5), (9, 7, 5, 2, 4), (9, 7, 5, 4, 2), (9, 7, 4, 2, 5), (9, 7, 4, 5, 2), (9, 4, 2, 5, 7), (9, 4, 2, 7, 5), (9, 4, 5, 2, 7), (9, 4, 5, 7, 2), (9, 4, 7, 2, 5), (9, 4, 7, 5, 2)]
```