我想创建一个随机数生成器。
import numpy as np
rd_list = (np.random.randint(10) for i in range(6))
当我尝试这样做时,我得到的值[7,1,4,2,0,6]
我想通过这个条件来过滤这些结果<5 .
我怎样才能得到这个结果?
另一种使用赋值表达式的方法(Python 3.8+):
import random
nums = (n for _ in range(6) if (n := random.randint(0, 10)) < 5)
感谢Andrej的评论:既然你已经在使用numpy
,你不需要循环:
import numpy as np
nums = (n for n in np.random.randint(0, 10, 6) if n < 5)
for i in range(6):
a = np.random.randint(10)
if a < 5:
List.append(a)