【问题标题】:How can I generate list of random odd numbers from 1 to 99 (including) in python如何在python中生成1到99(包括)的随机奇数列表
【发布时间】:2019-06-11 11:11:28
【问题描述】:
我正在使用以下代码:-
my_list = range(1,99)
list_Odd_Numbers = list(filter(lambda varX: varX % 2 == 1,my_list))
print(list_Odd_Numbers)
我想要随机无限循环
【问题讨论】:
标签:
python
python-3.x
random
【解决方案1】:
from random import randint
random_odd_numbers = (val for val in iter(lambda: randint(1, 99), 0) if val % 2 != 0)
for number in random_odd_numbers:
print(number)
打印:
...
99
81
57
85
87
95
49
...and so on.
【解决方案2】:
只需导入随机然后:
import random
my_list = range(1,99)
list_Odd_Numbers = list(filter(lambda varX: varX % 2 == 1,my_list))
while True: # Not recommended, but since you asked for infinite loop...
x = random.choice(list_Odd_Numbers) # Pick randomly one number from the list.
print(x) # or do whatever you need to with this random pick.
【解决方案3】:
这里是简单的解决方案,不需要过滤任何东西
2*random.randint(0,49)+1
如果您需要一个列表中的 100 个数字
[2*random.randint(0,49)+1 for _ in range(0,100)]
更新
实际上,标准 Python 中有一个函数可以完成这项工作
random.randrange(1, 100, 2)