【发布时间】:2020-09-12 14:14:57
【问题描述】:
我需要用随机数填充一个数组,这样数字不会重复。
数字是0到9之间的整数值,数组长度为4。
target = [random.randint(0,9) for i in range(4)]。我应该添加什么条件来防止数字重复?
谢谢!
【问题讨论】:
我需要用随机数填充一个数组,这样数字不会重复。
数字是0到9之间的整数值,数组长度为4。
target = [random.randint(0,9) for i in range(4)]。我应该添加什么条件来防止数字重复?
谢谢!
【问题讨论】:
你需要的是改组:首先你创建一个长度为 10 的数组,其中包含从 0 到 9 的数字,然后你 shuffle 它,然后返回前 4 个元素。
【讨论】:
您可以使用 python random.sample(sequence, k)。
它从种群序列或集合中选择“k”个唯一元素。
例如,
import random target = random.sample(range(0,9), 4)
希望对你有所帮助。
【讨论】:
使用random.sample。这会从给定列表中返回 n 个唯一的随机值。
import random
target = random.sample(range(0,9),4) # get 4 values from 0-8
为清楚起见,sample 从列表中的唯一位置 返回值。它不保证实际值是唯一的。
random.sample([1,1,1,1,2,2,2,2],4) # returns [1,2.2.1]
【讨论】: