如何从Python列表中随机选择一个范围内的整数?

问题描述 投票:0回答:1

我正在将 .csv 文件中的一些信息提取到列表中,并希望从该列表中选取一个随机值。但是,该值必须存在于指定范围内。 例如,如果我有一个像这样的列表:

[12, 100, 144, 50, 65, 30, 500, 450, 6]

并且我的范围为 55-300,我希望能够从 在此列表中中随机选择任何满足范围的值。比如说 100、144 或 65,但是永远不会12、6、30 等等。

我在任何地方都找不到解决方案,并且“随机”模块似乎没有任何直接支持此功能的功能。

random.randrange()
仅生成某个范围内的值,
random.choice()
仅从列表中选择一个元素,没有范围适用于它。

我本质上是在寻找一种可以将这两个功能结合起来的功能。

python list random range
1个回答
2
投票

您可以过滤列表中的数字以找到适当范围内的数字,然后从这些数字中随机选择一个。

lst = [12, 100, 144, 50, 65, 30, 500, 450, 6]
number = random.choice([n for n in lst if 55 <= n <= 300])
© www.soinside.com 2019 - 2024. All rights reserved.