【问题标题】: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)
      

      【讨论】:

        猜你喜欢
        • 2019-05-02
        • 1970-01-01
        • 2014-06-23
        • 2014-08-27
        • 1970-01-01
        • 2016-01-18
        • 2014-04-09
        • 1970-01-01
        • 2019-05-27
        相关资源
        最近更新 更多