创建随机数列表的标准方式是:
def generateList(n):
randlist = []
for i in range(n):
randlist.append(random.randint(1,9))
return randlist
然而,我最近偶然发现了random.sample
,这种方法更加简洁:
def generateList(n):
return random.sample(range(1, 10), n)
但是如果n
大于10,则会导致错误。因此,我的问题是,是否存在一个内置函数可以在不出错的情况下完全执行我想要的操作?如果没有,那么至少有没有更有效的替代方式来完成第一段摘录(考虑到n
可能很大)?
random.sample
:请注意,随机列表中的数字从未重复出现。generateList
的较短版本是lambda n: [randint(1,9) for _ in range(n)]
。 - Alec