目录
Generate a List of random Floating-point numbers in Python
在 Python 中生成随机浮点数
要在 Python 中生成随机浮点数:
- 使用该
random.uniform()
方法生成随机浮点数。 - 使用该
round()
函数将浮点数四舍五入到 N 位小数。
import random low = 0.5 high = 1.5 # ✅ generate random float with 2 decimal places random_float_2_decimals = round(random.uniform(low, high), 2) print(random_float_2_decimals) # 👉️ 0.51 # ✅ generate random float with 3 decimal places random_float_3_decimals = round(random.uniform(low, high), 3) print(random_float_3_decimals) # 👉️ 0.608
该random.uniform()
方法生成一个随机浮点数。
import random low = 0.5 high = 1.5 # 👇️ 1.089042238223516 print(random.uniform(low, high)) # 👇️ 0.9282021010721693 print(random.uniform(low, high))
random.uniform
方法接受 2个
参数 –a
并b
返回一个浮点数 N 使得a <= N <= b
.
换句话说,该方法生成指定范围内的浮点数。
import random low = 0.1 high = 0.7 # 👇️ 0.35799415992456773 print(random.uniform(low, high)) # 👇️ 0.577653189273325 print(random.uniform(low, high)) # 👇️ 0.3361477475326371 print(random.uniform(low, high))
生成的浮点数为:
- 等于或大于
low
参数 - 等于或小于
high
参数
将随机浮点数四舍五入到 N 位小数
我们使用该round()
函数将生成的随机数四舍五入到小数点后 N 位。
import random low = 0.5 high = 1.5 random_float_2_decimals = round(random.uniform(low, high), 2) print(random_float_2_decimals) # 👉️ 0.51
我们将 2 作为第二个参数传递给round()
函数,因此浮点数四舍五入为 2 位小数。
round函数采用以下 2 个参数:
姓名 | 描述 |
---|---|
number |
ndigits 要舍入到小数点后精度的数字 |
ndigits |
小数点后的位数,运算后的数字应该有(可选) |
该函数返回四舍五入到小数点后的精度的round
数字。ndigits
如果ndigits
省略,函数返回最接近的整数。
生成 N 个四舍五入到 N 位小数的随机浮点数
如果您需要生成 N 个四舍五入到 N 个小数位的随机浮点数,请使用列表
理解。
import random low = 0.5 high = 1.5 random_floats = [ round(random.uniform(low, high), 2) for _ in range(3) ] print(random_floats) # 👉️ [1.48, 1.17, 1.16]
我们使用列表理解来生成一个包含 3 个浮点数的列表,四舍五入到小数点后两位。
在每次迭代中,我们对数字进行四舍五入并返回结果。
print(list(range(2))) # 👉️ [0, 1] print(list(range(3))) # 👉️ [0, 1, 2]
我们使用下划线_
作为变量名称。有一种约定,使用下划线作为我们不打算使用的占位符变量的名称。
在每次迭代中,我们使用该random.uniform()
方法生成一个随机浮点数并返回结果。
使用numpy.random.uniform()生成一定范围内的随机Float
您还可以使用该numpy.random.uniform()
方法生成一个范围内的随机浮点数。
该方法采用low
和high
参数并返回给定范围内的浮点数。
import numpy as np low = 0.1 high = 0.7 float_in_range = np.random.uniform(low=low, high=high) print(float_in_range) # 👉️ 0.21276970453155972 float_in_range = np.random.uniform(low=low, high=high) print(float_in_range) # 👉️ 0.6222178486548654 float_in_range = np.random.uniform(low=low, high=high) print(float_in_range) # 👉️ 0.2633158529588748
确保安装
了 NumPy 模块以便能够运行代码示例。
pip install numpy pip3 install numpy
numpy.random.uniform
方法从均匀分布中抽取样本。
返回指定范围内的任何值的可能性相同。
关键字参数low
表示下边界。生成的值大于或等于low
。
关键字参数high
是上边界。生成的值小于或等于high
。
如果您需要在给定范围内生成随机浮点数组,该numpy.random.uniform()
方法采用可选参数。size
import numpy as np low = 0.1 high = 0.7 float_in_range = np.random.uniform(low=low, high=high, size=2) print(float_in_range) # 👉️ [0.48012006 0.46810723] float_in_range = np.random.uniform(low=low, high=high, size=3) print(float_in_range) # 👉️ [0.25205676 0.27148159 0.41676953] float_in_range = np.random.uniform(low=low, high=high, size=4) print(float_in_range) # 👉️ [0.47931888 0.30000989 0.68755061 0.16432028]
如果需要将 NumPy 数组转换为原生 Python 列表,请使用该
tolist()
方法。
import numpy as np low = 0.1 high = 0.7 float_in_range = np.random.uniform(low=low, high=high, size=2).tolist() print(float_in_range) # 👉️ [0.25542092126863214, 0.12104892506449814]
tolist
方法
将 NumPy 数组转换为列表对象。
在 Python 中生成随机浮点数列表
要生成随机浮点数列表:
- 使用列表理解来迭代
range
对象。 - 使用该
random.uniform()
方法生成范围内的随机浮点数。 - 可选择将浮点数四舍五入为 N 位小数。
import random low = 0.2 high = 0.9 list_of_floats = [random.uniform(low, high) for _ in range(3)] # 👇️ [0.49525149337374097, 0.8635092597733884, 0.5173525204003386] print(list_of_floats)
第一个示例使用该random.uniform()
方法生成随机浮点数。
我们使用列表理解来迭代一个range
对象。
import random low = 0.2 high = 0.9 list_of_floats = [random.uniform(low, high) for _ in range(3)] # 👇️ [0.49525149337374097, 0.8635092597733884, 0.5173525204003386] print(list_of_floats)
range类通常用于在循环中循环特定次数for
。
print(list(range(3))) # 👉️ [0, 1, 2] print(list(range(4))) # 👉️ [0, 1, 2, 3] print(list(range(5))) # 👉️ [0, 1, 2, 3, 4]
_
作为变量名称。有一种约定,使用下划线作为我们不打算使用的占位符变量的名称。在每次迭代中,我们使用该random.uniform()
方法获取一个范围内的随机浮点数。
random.uniform
方法接受 2个
参数 –a
并b
返回一个浮点数 N 使得a <= N <= b
.
import random low = 0.2 high = 0.9 print(random.uniform(low, high)) # 👉️ 0.6596676246120552 print(random.uniform(low, high)) # 👉️ 0.8317441007881621
换句话说,该方法生成指定范围内的浮点数。
生成一个四舍五入到 N 位小数的随机浮点数列表
如果您需要将浮点数四舍五入到 N 位小数,请使用该
round()
函数。
import random low = 0.2 high = 0.9 list_of_floats = [ round(random.uniform(low, high), 2) for _ in range(3) ] # 👇️ [0.43, 0.32, 0.63] print(list_of_floats)
在每次迭代中,我们使用该random()
函数将浮点数四舍五入到小数点后两位。
round函数采用以下 2 个参数:
姓名 | 描述 |
---|---|
number |
ndigits 要舍入到小数点后精度的数字 |
ndigits |
小数点后的位数,运算后的数字应该有(可选) |
该函数返回四舍五入到小数点后的精度的round
数字。ndigits
如果ndigits
省略,函数返回最接近的整数。
使用 NumPy 生成随机浮点数列表
或者,您可以使用该numpy.random.uniform()
方法。
该方法采用下限和上限,并生成范围内的浮点数列表。
import numpy as np low = 0.2 high = 0.9 list_of_floats = np.random.uniform( low=low, high=high, size=(3,) ).tolist() # 👇️ [0.5288858110085052, 0.6832247042689714, 0.6691900820103919] print(list_of_floats)
numpy.random.uniform
方法从均匀分布中抽取样本。
返回指定范围内的任何值的可能性相同。
关键字low
参数是一个表示下边界的浮点数。生成的值大于或等于low
。
关键字参数high
是上边界。生成的值小于或等于high
。
参数size
是输出形状。
最后一步是使用
tolist
方法将数组转换为列表。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: