是否有内置函数来创建大小为'n'的随机数列表?

Bol*_*boa 3 python random list

创建随机数列表的标准方法是:

def generateList(n):
    randlist = []
    for i in range(n):
        randlist.append(random.randint(1,9))
    return randlist
Run Code Online (Sandbox Code Playgroud)

但是,我最近偶然发现random.sample,这更加紧凑:

def generateList(n):
    return random.sample(range(1, 10), n)
Run Code Online (Sandbox Code Playgroud)

但如果n大于10,这会导致错误.所以,我的问题是,是否存在一个内置函数,它完全按照我的意图执行而不会遇到错误?如果没有,是否至少有一个更有效的替代第一个摘录(考虑到n可能非常大)?

iCo*_*dez 5

不,没有专门用于此任务的功能.但是如果要压缩代码,可以使用列表推导:

def generateList(n):
    return [randint(1, 9) for _ in range(n)]
Run Code Online (Sandbox Code Playgroud)