Python中是否有一种简单的方法可以生成一个范围内的随机数,但不包括该范围内某些数字的子集?
例如,我知道您可以使用以下命令生成0到9之间的随机数:
from random import randint
randint(0,9)
如果我有一个列表,例如exclude=[2,5,7]
,我不想退回?
答案 0 :(得分:10)
试试这个:
from random import choice
print choice([i for i in range(0,9) if i not in [2,5,7]])
答案 1 :(得分:3)
尝试这样的事情:
from random import randint
def my_custom_random():
exclude=[2,5,7]
randInt = randint(0,9)
return my_custom_random() if randInt in exclude else randInt
print(my_custom_random())