在 Python 中生成随机浮点数或随机浮点数列表

目录

Generate a List of random Floating-point numbers in Python

  1. 在 Python 中生成随机浮点数
  2. 使用 numpy.random.uniform() 在一定范围内生成随机浮点数
  3. 在 Python 中生成随机浮点数列表

在 Python 中生成随机浮点数

要在 Python 中生成随机浮点数:

  1. 使用该random.uniform()方法生成随机浮点数。
  2. 使用该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

参数 –
ab返回一个浮点数 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 个浮点数的列表,四舍五入到小数点后两位。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们对数字进行四舍五入并返回结果。

range类通常用于在for loops中循环特定次数

主程序
print(list(range(2))) # 👉️ [0, 1] print(list(range(3))) # 👉️ [0, 1, 2]

我们使用下划线_作为变量名称。有一种约定,使用下划线作为我们不打算使用的占位符变量的名称。

在每次迭代中,我们使用该random.uniform()方法生成一个随机浮点数并返回结果。

使用numpy.random.uniform()生成一定范围内的随机Float

您还可以使用该numpy.random.uniform()方法生成一个范围内的随机浮点数。

该方法采用lowhigh参数并返回给定范围内的浮点数。

主程序
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 中生成随机浮点数列表

要生成随机浮点数列表:

  1. 使用列表理解来迭代range对象。
  2. 使用该random.uniform()方法生成范围内的随机浮点数。
  3. 可选择将浮点数四舍五入为 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

参数 –
ab返回一个浮点数 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
方法将数组转换为列表。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: