我希望优化一个简单的给定代码,它生成一个不在给定列表中的随机数(0,1,2)。随机数生成器是从根开始的TRandom3。
def getNumber(noList, randomgen):
#Fügen Sie hier Ihren Code ein!: ?
i = randomgen.Integer(3)
while i in noList:
i = randomgen.Integer(3)
return i它非常基础,只会生成新的数字,直到达到一个允许的数字。
我自己的优化代码如下所示:
def bessereAuswahl(noList):
return random.choice([elem for elem in [0,1,2] if elem not in noList])我只是从我的列表0,1,2中删除了所有不允许的数字,并使用random.choice选择了一个元素。
在windows10上运行时,我的性能有所提高,而在linux上运行相同的代码时,我的性能有所下降。
为什么会这样呢?
在linux上有没有隐藏的随机性能损失,或者是在pyroot中的性能提升?
发布于 2020-11-30 02:22:16
https://stackoverflow.com/questions/65063363
复制相似问题