当前位置: 首页 > 面试题库 >

如何使用函数将列表相乘?

萧明贤
2023-03-14
问题内容

如何使用函数在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)的剩余部