首页 > 解决方案 > 使用带有 randint 的 for 循环

问题描述

使用此代码:

from random import randint
ans = [[randint(0, 20),randint(0, 20),randint(0, 20),randint(0, 20),randint(0, 20),randint(0, 20),randint(0, 20)] for i in range(15)]
print (ans)

我懂了:

[[10, 10, 13, 3, 13, 17, 3], [4, 1, 0, 15, 3, 9, 12], [8, 14, 8, 14, 2, 1, 11], [6, 13, 8, 9, 16, 18, 18], [10, 2, 15, 18, 16, 5, 4], [16, 3, 16, 9, 8, 20, 9], [1, 8, 16, 4, 7, 17, 20], [5, 0, 3, 11, 11, 3, 5], [17, 5, 14, 7, 20, 17, 17], [7, 4, 9, 17, 13, 0, 11], [3, 12, 6, 20, 9, 0, 3], [9, 12, 14, 16, 11, 4, 4], [12, 19, 12, 12, 11, 16, 12], [13, 15, 2, 3, 9, 17, 11], [14, 6, 10, 18, 8, 6, 6]]

但正如你所看到的那样,重复randint(0,20)并不好。你能帮我用别的东西,比如 for 循环,而不是重复同样的东西randint(0,20)吗?

标签: python

解决方案


你可以做一个双重列表理解

from random import randint
ans = [[randint(0, 20) for j in range(7)] for i in range(15)]
print (ans)

推荐阅读