【问题标题】:fill an array with differents randoms integers Python用不同的随机整数填充一个数组Python
【发布时间】:2020-09-12 14:14:57
【问题描述】:

我需要用随机数填充一个数组,这样数字不会重复。

数字是0到9之间的整数值,数组长度为4。

target = [random.randint(0,9) for i in range(4)]。我应该添加什么条件来防止数字重复?

谢谢!

【问题讨论】:

    标签: python arrays random


    【解决方案1】:

    你需要的是改组:首先你创建一个长度为 10 的数组,其中包含从 0 到 9 的数字,然后你 shuffle 它,然后返回前 4 个元素。

    【讨论】:

      【解决方案2】:

      您可以使用 python random.sample(sequence, k)。 它从种群序列或集合中选择“k”个唯一元素。 例如, import random target = random.sample(range(0,9), 4) 希望对你有所帮助。

      【讨论】:

        【解决方案3】:

        使用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]
        

        【讨论】:

        • 非常感谢您的帮助,正如您所说 @Mike67 ,它正在使用 random.sample
        猜你喜欢
        • 2013-09-16
        • 1970-01-01
        • 1970-01-01
        • 2014-05-10
        • 2014-01-11
        • 2013-11-30
        • 2016-02-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多