如何在Python中将范围(range)相乘

使用列表推导将范围内的每个数字乘以特定数字,例如 result = [num * 2 for num in range(1, 6)]。 列表推导遍历范围并使用乘法 * 运算符将当前数字乘以另一个数字。

import math

result = [num * 2 for num in range(1, 6)]

# ✅ 将范围内的每个数字乘以特定数字
print(result)  # ?️ [2, 4, 6, 8, 10]

# -------------------------------------------------------

# ✅ 将一个范围内的所有数字相乘
print(math.prod(range(1, 5)))  # ?️ 24 (same as 1 * 2 * 3 * 4)

我们使用列表推导来迭代一个范围并将其值乘以另一个数字。

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

range 类通常用于在 for 循环中循环特定次数,并采用以下参数:

  • start – 表示范围开始的整数(默认为 0)
  • stop – 范围结束的整数,但不包括提供的整数
  • step – 范围将由从开始到停止的每 N 个数字组成(默认为 1)

请注意,范围中的起始值是包含的,而结束值是不包含的。

# ?️ [1, 2, 3, 4, 5]
print(list(range(1, 6)))

如果我们只将单个参数传递给 range() 构造函数,则它被认为是 stop 参数的值。

# ?️ [0, 1, 2, 3, 4, 5]
print(list(range(6)))

该示例显示,如果省略 start 参数,则默认为 0,如果省略 step 参数,则默认为 1。

如果 stop 参数的值小于 start 参数的值,则范围将为空。

# ?️ []
print(list(range(6, 1)))

使用 math.prod() 方法将一个范围内的所有数字相乘,例如 math.prod(range(1, 5)) 。 math.prod 方法计算迭代中所有项目的乘积。

import math

print(math.prod(range(1, 5)))  # ?️ 24 (same as 1 * 2 * 3 * 4)

print(math.prod(range(1, 4)))  # ?️ 6 (same as 1 * 2 * 3)

math.prod 方法计算提供的迭代中所有元素的乘积。

import math

my_tuple = (5, 5, 5)

result = math.prod(my_tuple)

print(result)  # ?️ 125

该方法采用以下 2 个参数:

  • iterable – 一个迭代,其元素计算乘积
  • start – 计算的起始值(默认为 1)

如果 iterable 为空,则返回起始值。