如何禁用 random.choice 中的重复项目

Ali*_*FGT 2 python random list

我想使用 抓取列表中的随机项目random.choices(),但我不需要抓取多个项目。例子:

import random
mylist = ['python', 'c++', 'html', 'CSS', 'JavaScript']
print(random.choices(mylist, k=4)
Run Code Online (Sandbox Code Playgroud)

有时它会返回以下输出:

['python', 'html', 'JavaScript', 'JavaScript']
Run Code Online (Sandbox Code Playgroud)

所以我想删除重复的JavaScript,这样它就只剩下一个JavaScript,并用一个新项目替换重复的JavaScript

['python', 'html', 'CSS', 'JavaScript']
Run Code Online (Sandbox Code Playgroud)

小智 5

用这个 :

from random import sample
mylist = ['python', 'c++', 'html', 'CSS', 'JavaScript']
print(sample(mylist, k=4))
Run Code Online (Sandbox Code Playgroud)

  • 这是唯一正确的答案,尽管缺乏细节。random.sample 和 random.choice 之间的区别在于,sample 保证对 `choice` 进行替换采样的_唯一_元素进行采样。 (4认同)