Python中将列表中的每个元素乘以数字
Python中将列表中的每个元素乘以一个数字:
- 使用列表理解来遍历列表。
- 在每次迭代中,将当前元素乘以数字。
- 新列表将包含乘法结果。
# ✅ 将列表中的每个元素乘以数字
my_list = [2, 4, 6]
result = [item * 10 for item in my_list]
print(result) # 👉️ [20, 40, 60]
# ------------------------------------------
# ✅ 将列表中的所有元素相乘
import math
from functools import reduce
my_list = [2, 4, 6]
# ✅ 使用 math.prod() 将列表中的所有元素相乘
result = math.prod(my_list)
print(result) # 👉️ 48
# ---------------------------------------------------
# ✅ 使用 reduce() 将列表中的所有元素相乘
result_2 = reduce(lambda x, y: x * y, my_list)
print(result_2) # 👉️ 48
我们使用列表理解来迭代列表并将每个列表项乘以 10。
列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。
在每次迭代中,我们将当前列表项乘以指定的数字并返回结果。
或者,我们可以使用简单的 for
循环。
使用 for 循环将列表中的每个元素乘以一个数字
将列表中的每个元素乘以一个数字:
- 声明一个存储空列表的新变量。
-
使用
for
循环遍历原始列表。 - 在每次迭代中,将当前列表项乘以数字。
- 将结果附加到新列表。
my_list = [2, 4, 6]
result = []
for item in my_list:
result.append(item * 10)
print(result)
for
循环的工作方式与列表理解非常相似,但我们不是直接返回列表项,而是将它们附加到一个新列表中。
我们还可以使用 map()
函数将列表中的每个元素相乘。
my_list = [2, 4, 6]
result = list(map(lambda item: item * 10, my_list))
print(result) # 👉️ [20, 40, 60]
map()
函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。
我们传递给
map
的 lambda 函数对列表中的每个项目进行调用,将项目乘以 10 并返回结果。
最后一步是使用 list()
类将地图对象转换为列表。
如果我们使用 numpy
数组,则可以直接使用数组的乘法运算符将其每个元素乘以一个数字。
import numpy as np
arr = np.array([2, 4, 6])
result = arr * 10
print(result) # 👉️ [20 40 60]
将 numpy
数组乘以一个数字实际上会将数组中的每个元素乘以指定的数字。
请注意
,这仅适用于 numpy 数组。 如果将 python 列表乘以一个数字,它会重复 N 次。
print([2, 4, 6] * 2) # 👉️ [2, 4, 6, 2, 4, 6]
将 Python 列表乘以 N 返回一个新列表,其中包含重复 N 次的原始列表的元素。
如果需要将列表中的所有元素相乘,请使用 math.prod() 函数。
在 Python 中将列表中的所有元素相乘
使用 math.prod()
方法将列表中的所有元素相乘,例如 result = math.prod(my_list)
。 math.prod()
方法计算提供的可迭代对象中所有元素的乘积。
import math
from functools import reduce
my_list = [2, 3, 5]
# ✅ 使用 math.prod() 将列表中的所有元素相乘
result = math.prod(my_list)
print(result) # 👉️ 30
# ---------------------------------------------------
# ✅ 使用 reduce() 将列表中的所有元素相乘
result_2 = reduce(lambda x, y: x * y, my_list)
print(result_2) # 👉️ 30
确保在顶部导入数学模块。
我们使用 math.prod
方法将列表中的所有元素相乘。
math.prod
方法计算提供的可迭代对象中所有元素的乘积。
import math
my_list = [5, 5, 5]
result = math.prod(my_list)
print(result) # 👉️ 125
该方法采用以下 2 个参数:
- iterable 一个可迭代的,其元素要计算其乘积
- start 产品的起始值(默认为 1)
如果可迭代对象为空,则返回起始值。
或者,我们可以使用 reduce()
函数。
使用 reduce() 将列表中的所有元素相乘
将列表中的所有元素相乘:
-
将 lambda 函数和列表传递给
reduce()
函数。 - lambda 函数应采用累加器和当前值,并应返回两者的乘积。
from functools import reduce
my_list = [2, 3, 5]
result = reduce(lambda x, y: x * y, my_list)
print(result) # 👉️ 30
reduce
函数采用以下 3 个参数:
- function 带有两个参数的函数 - 累加值和可迭代的值。
- iterable 可迭代对象中的每个元素都将作为参数传递给函数。
- initializer 一个可选的初始化值,在计算中放置在可迭代项之前。
使用累加值和当前迭代的值调用
lambda
函数并将它们相乘。
如果我们为初始值设定项参数提供一个值,它会被放置在计算中可迭代项的前面。
from functools import reduce
my_list = [2, 3, 5]
def do_math(acc, curr):
print(acc) # 👉️ is 10 on first iteration
return acc * curr
result = reduce(do_math, my_list, 10)
print(result) # 👉️ 300
我们为初始化参数传递了 10,因此累加器的值在第一次迭代时将为 10。
如果我们没有为初始化器传递值,则累加器的值将设置为可迭代对象中的第一个元素。
如果可迭代对象为空并且提供了初始化器,则返回初始化器。
如果未提供初始值设定项且可迭代对象仅包含一项,则返回第一项。
from functools import reduce
my_list = [2]
result = reduce(lambda acc, curr: acc * curr, my_list)
print(result) # 👉️ 2
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。