使用随机整数在生成器中进行条件过滤
Conditional Filtering in Generator with random integer
我想创建一个随机数生成器。
import numpy as np
rd_list = (np.random.randint(10) for i in range(6))
当我尝试这样做时,我得到值 [7, 1, 4, 2, 0, 6]。
我想按此条件过滤这些结果 < 5。
我怎样才能得到这个结果?
for i in range(6):
a = np.random.randint(10)
if a < 5:
List.append(a)
另一种使用赋值表达式的方法(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)
我想创建一个随机数生成器。
import numpy as np
rd_list = (np.random.randint(10) for i in range(6))
当我尝试这样做时,我得到值 [7, 1, 4, 2, 0, 6]。
我想按此条件过滤这些结果 < 5。
我怎样才能得到这个结果?
for i in range(6):
a = np.random.randint(10)
if a < 5:
List.append(a)
另一种使用赋值表达式的方法(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)