如何使用循环将不同的随机数输入到列表中?

时间:2017-11-18 06:32:53

标签: python for-loop arraylist random unique

我打算做的是在名为var的列表中输入4个不同的数字。如果2个随机数给出相同的数字,则不附加,并且循环迭代以选择新的随机数。但是我的代码只会给出不相等的随机数列表。例如,如果生成的随机数是1,4,4,3,我的列表(' var')将只有1,4,3。即,总共只有3个数字。如何更正代码以将总共4个唯一随机数附加到列表中?

std::back_insert_iterator

1 个答案:

答案 0 :(得分:1)

所以这里的要求是你继续做这个操作,直到你的数组长度是4,所以你可以使用while len(arr) < 4。为您编码的示例:

import random
var=[]
end=4
while len(var) < end:
 k=random.randint(0,9)
 print k
 if k not in var:
  var.append(k)

更好的方法是random.sample

>>> import random
>>> random.sample(range(0, 9), 4) # xrange is using python 2.7

阅读here