我希望能够获得随机整数,但blacklist
数组中的数字除外,我在理解如何重新遍历代码直到找到合适的数字时遇到了一些麻烦。
蟒蛇
def viewName(...):
random_int = random.randint(0, 11)
blacklist = [1, 2, 3, 5, 6, 10]
for bl in blacklist:
if random_int == bl:
#try again till there's a number that isn't in the blacklist
else:
correctNumber = random_int
...
这似乎很基础,但是我不明白如何反复遍历直到有足够的数字,什么是最快,更有效的方法来实现这一点,有什么建议吗?
最佳答案
无需重新采样,只需从已删除黑名单的项目中预先准备的数据中采样:
import random
choices = list(set(range(12)).difference(blacklist))
n = random.choice(choices)
关于python - 如何获得不在整数黑名单中的随机数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45922761/