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

python-如何使用循环将不同的随机数输入到列表中?,python,for-loop,arraylist,random,unique,Python,For Loop,Arraylist,Random,Unique,我的目标是将4个不同的数字输入到一个名为var的列表中。如果2个随机数给出相同的数字,则不会追加该数字,循环将迭代以选择一个新的随机数。但我的代码只给出不相等的随机数列表。例如,如果生成的随机数为1,4,4,3,则我的列表('var')将只有1,4,3。也就是说,总共只有3个数字。如何更正代码,将总共4个唯一的随机数添加到列表中 import random var=[] end=4 for i in range(0,end,1): k=random.randint(0,9) print k

我的目标是将4个不同的数字输入到一个名为var的列表中。如果2个随机数给出相同的数字,则不会追加该数字,循环将迭代以选择一个新的随机数。但我的代码只给出不相等的随机数列表。例如,如果生成的随机数为1,4,4,3,则我的列表('var')将只有1,4,3。也就是说,总共只有3个数字。如何更正代码,将总共4个唯一的随机数添加到列表中

import random
var=[]
end=4
for i in range(0,end,1):
 k=random.randint(0,9)
 print k
 if k not in var:
  var.append(k)
 else:
  end+=1

因此,这里的要求是继续执行该操作,直到数组长度为4为止,因此可以使用
,而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.shuffle或random.sample
>>> import random
>>> random.sample(range(0, 9), 4) # xrange is using python 2.7