Pav*_*utt 0 python list-comprehension list
一个试图理解 Python 列表推导式的人为例子
我想生成一个包含 1 到 100 范围内的 1000 个随机偶数的列表,这就是我所拥有的
import random
list = [random.randint(1,100) for _ in range(1,1000) if _ %2 ==0]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何在 for 循环中检查 randint() 的结果。
我知道这可以通过random.randrange(x,y,2)或其他机制来完成。我想了解我是否可以以列表理解的方式做到这一点。
当然你可以使用列表理解,只是不是这样。您可以做的是编写一个生成随机偶数的函数,然后执行以下操作:
[your_func() for _ in range(1000)]
Run Code Online (Sandbox Code Playgroud)
your_func 在这种情况下可能是:
while True:
n = random.randint(1, 100)
if n%2 == 0:
yield n
Run Code Online (Sandbox Code Playgroud)
但当然,这并不比您注意到的使用random.randrange(2, 101, 2).
[random.randrange(2, 101, 2) for _ in range(1000)]
Run Code Online (Sandbox Code Playgroud)