我有一个看起来像这样的 for 循环,并且希望让它更快。
我的列表 = 范围(100)
def normalrandom():
for a in range(100):
b = random.getrandbits(1)
if b==1: #do something with mylist[a]
我的列表有大约 100 个元素,而且我知道调用 random 很昂贵。有没有更快的方法来调用 random 并获得 100 个随机布尔值?
编辑:这是迄今为止最好的解决方案。
def fastrandom():
s = list(range(100))
res = [i for i in s if random.random() >= .5]
for item in res:
#do something with mylist[item]
- 正常随机:0:00:00.591000
- 快速随机:0:00:00.293000