我正在将 .csv 文件中的一些信息提取到列表中,并希望从该列表中选取一个随机值。但是,该值必须存在于指定范围内。 例如,如果我有一个像这样的列表:
[12, 100, 144, 50, 65, 30, 500, 450, 6]
并且我的范围为 55-300,我希望能够从 在此列表中中随机选择任何满足范围的值。比如说 100、144 或 65,但是永远不会12、6、30 等等。
我在任何地方都找不到解决方案,并且“随机”模块似乎没有任何直接支持此功能的功能。
random.randrange()
仅生成某个范围内的值,random.choice()
仅从列表中选择一个元素,没有范围适用于它。
我本质上是在寻找一种可以将这两个功能结合起来的功能。
您可以过滤列表中的数字以找到适当范围内的数字,然后从这些数字中随机选择一个。
lst = [12, 100, 144, 50, 65, 30, 500, 450, 6]
number = random.choice([n for n in lst if 55 <= n <= 300])