Python 是否有任何方法可以在导入某个随机项时阻止它两次拾取同一项?

Python 是否有任何方法可以在导入某个随机项时阻止它两次拾取同一项?,python,random,Python,Random,有没有人能帮我,告诉我有没有什么方法可以阻止随机函数两次拾取同一个项目 例如,假设这是我的代码: import random numbers = ['1', '2', '3', '4', '5'] for i in range(5): print(random.choice(numbers)) 有什么方法可以阻止它两次拾取相同的项目吗?您可以删除从列表中拾取的元素。这将检查以前的输出: import random numbers = ['1', '2', '3', '4', '5']

有没有人能帮我,告诉我有没有什么方法可以阻止随机函数两次拾取同一个项目

例如,假设这是我的代码:

import random

numbers = ['1', '2', '3', '4', '5']
for i in range(5):
    print(random.choice(numbers))

有什么方法可以阻止它两次拾取相同的项目吗?

您可以删除从列表中拾取的元素。

这将检查以前的输出:

import random
numbers = ['1', '2', '3', '4', '5']
b=[]
for i in range(5):
    k=(random.choice(numbers))
    if not k in (b):
        print(k)
        b.append(k)

我将自己尝试一下“随机但无重复”问题的一般解决方案是将所有可能的选项放入数组/列表/任何内容中,然后洗牌容器。这使项目以随机顺序排列,没有重复项。从阵列的前端(或端部)获取所需数量的项目。许多语言都内置了
shuffle
方法,或者使用Fisher-Yates shuffle。