生成范围内的随机数,不包括某些数字

时间:2017-03-24 12:06:30

标签: python random

Python中是否有一种简单的方法可以生成一个范围内的随机数,但不包括该范围内某些数字的子集?

例如,我知道您可以使用以下命令生成0到9之间的随机数:

from random import randint
randint(0,9)

如果我有一个列表,例如exclude=[2,5,7],我不想退回?

2 个答案:

答案 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())