随机列出的四个项目,但没有重复项

时间:2019-06-10 19:26:58

标签: python list

我想创建一个随机列表,但是列表中的任何数字都不能具有相同的值。并且只有0到9之间的数字

我尝试过random.randint,random.choice,random.randrage, 甚至尝试过: random.randint(0>值<9)

number = [random.randint(0,9),random.randint(0,9),random.randint(0,9),random.randint(0,9)]

for index,value in enumerate(number):
    values = [0,1,2,3,4,5,6,7,8,9]
    values.remove(value)
    if value == number[index-1] or number[index-2] or number[index-3]:
        number[index] = random.choice(values)


print(number)

我想得到四个数字的列表,这些数字不是重复的,但是我一直在重复吗?

2 个答案:

答案 0 :(得分:0)

您正在寻找random.sample

>>> random.sample(range(0,10), 4)
[9, 6, 2, 0]

选择的值没有替换,因此输出列表中没有重复项。因此,对大于输入序列的样本的请求将引发ValueError

答案 1 :(得分:0)

from random import sample

my_list = sample(range(10),4)

print(my_list)

将范围(10)替换为您希望将来从中获取随机样本的任何列表。