如何使用函数在python中将列表相乘?这就是我所拥有的:
list = [1, 2, 3, 4]
def list_multiplication(list, value):
mylist = []
for item in list:
for place in value:
mylist.append(item*value)
return mylist
所以我想用它来乘以list * list(1 * 1、2 * 2、3 * 3、4 * 4)
所以输出将是1、4、9和16。我该如何在python中执行第二个列表的操作?谢谢
我最喜欢的方式是mul
在两个列表上映射运算符:
from operator import mul
mul(2, 5)
#>>> 10
mul(3, 6)
#>>> 18
map(mul, [1, 2, 3, 4, 5], [6, 7, 8, 9, 10])
#>>> <map object at 0x7fc424916f50>
map
,至少在Python 3中,返回生成器。因此,如果您想要一个列表,则应将其转换为一个:
list(map(mul, [1, 2, 3, 4, 5], [6, 7, 8, 9, 10]))
#>>> [6, 14, 24, 36, 50]
但是到那时,对zip
‘d列表使用列表理解可能更有意义。
[a*b for a, b in zip([1, 2, 3, 4, 5], [6, 7, 8, 9, 10])]
#>>> [6, 14, 24, 36, 50]
为了解释最后一个,zip([a,b,c], [x,y,z])
给出(一个生成器)[(a,x),(b,y),(c,z)]
。
将for a, b in
每(m,n)
对“解包”到变量a
和中b
,并将a*b
它们相乘。
问题内容: 流中是否有一个sum()等效方法可以执行流中给定值的乘法? 我有一个这样的整数列表: 我能够获取所有整数的总和,但是无法找到可以将值相乘并给出输出的API。 如果我尝试使用forEach进行操作,那么我将无法存储结果,因为仅允许在其中使用最终变量。 除此之外,还有其他选择吗? 问题答案: 尝试减少流,它应该有所帮助。 喜欢: 此链接提供有关如何使用reduce的更多信息。
问题内容: 您好,所以我想将列表中的整数相乘。 例如; 输出: 所以我在网上搜索,大多数答案是关于将所有整数彼此相乘,例如: [1 * 2 * 3] 问题答案: 尝试列表理解: 这将每个元素乘以2。 当然,有多种方法可以做到这一点。如果您喜欢lambda函数和,甚至可以 将函数应用于中的每个元素。这等效于: 请注意,返回的是地图对象,而不是列表,因此,如果以后确实需要列表,则可以在以后使用该函数,
假设我有这个命令代码: 我该如何以函数式的方式写这篇文章(就像fold在Scala中做的那样)?
问题内容: 可以说我有一个这样的列表: 我有一个函数,假设我想将该函数应用于该函数的每个子列表,可以计算出有关两个列表的一些分数。如何将此功能应用于的每个列表并在新列表中返回每个分数,如下所示: 我尝试使用以下功能: 问题答案: 您可以使用内置函数来执行此操作。 因此,如果您要应用的函数是,则可以执行以下操作: 在中,上面返回了一个地图迭代器,因此您需要一个显式调用: 如果您要为此编写一些必须在P
我有一个简单的来源。 有没有办法让方法只接收列表,并返回一个可调用的,它将与
我必须创建一个询问 我试图解决的任何一个项目在一个列表中,我有一些问题,这里是一个代码 `此代码仅在以下情况下提供预期输出: 如果len(list)可被page_number整除,如果page_number为0,或如果page_number大于并等于len(list)` 臭虫 假设len(list)是9,page_number是(2,4,5,6,7,8)之一,9%(2,4,5,6,7,8)的剩余部