我想生成一个范围内的随机整数列表:
from random import randint
lower = 0
upper = 20
length = 10
random_array = [randint(lower, upper) for _ in range(length)]
我不认为它很优雅,我想出了另一个解决方案:
random_array = [randint(lower, upper)] * length
但它会生成一个相同整数的列表。
可能randint
之前执行了list
。
我尝试用randint
推迟lambda
:
random_array = [(lambda: randint(lower, upper))()] * length
但失败了。
所以我想知道是否可以延迟项目的评估(在这种情况下为randint
),然后在列表组装后触发它?
答案 0 :(得分:0)
from random import randint
lower = 0
upper = 20
length = 10
random_array = list()
for _ in range(length):
random_array.append(randint(lower, upper))
print random_array
答案 1 :(得分:-1)
random_array = map(lambda _: randint(lower, upper), range(length))