修改python代码以返回列表中项目的乘积,而不是总和

修改python代码以返回列表中项目的乘积,而不是总和,python,Python,有人能帮我修改这段代码吗?我必须返回列表中项目的乘积,而不是总和 代码如下: def sum(seq): def add(x,y): return x+y return reduce(add, seq, 0) 由于您已经在使用reduce,只需修改reduce使用的函数: def产品(序号): def mult(x,y):返回x*y 返回减少(多个,顺序) 或者使用lambda代替函数定义: reduce(λx,y:x*y,seq) 顺便说一句,因为sum python

有人能帮我修改这段代码吗?我必须返回列表中项目的乘积,而不是总和

代码如下:

def sum(seq):

    def add(x,y): return x+y

    return reduce(add, seq, 0)

由于您已经在使用reduce,只需修改reduce使用的函数:

def产品(序号): def mult(x,y):返回x*y 返回减少(多个,顺序) 或者使用lambda代替函数定义:

reduce(λx,y:x*y,seq)

顺便说一句,因为sum python具有内置函数sum:

,因为您已经在使用reduce,只需修改reduce使用的函数:

def产品(序号): def mult(x,y):返回x*y 返回减少(多个,顺序) 或者使用lambda代替函数定义:

reduce(λx,y:x*y,seq)

顺便说一句,因为sum python有内置函数sum:

我想我理解了你的问题。试试这个:

import functools
import operator
def multiplyList(inputList):
    return(reduce(operator.mul, inputList))

我想我理解你的问题。试试这个:

import functools
import operator
def multiplyList(inputList):
    return(reduce(operator.mul, inputList))


请分享完整的代码。很难理解您在
seq
中传递的内容。我认为从您的代码的结构来看,这似乎很明显。。。你到底有什么问题?@PrashantKumar这就是我所有的密码?还有更多吗?@Tomerikoo我很难理解我应该如何更改此代码以使其正常工作,正如您定义了一个函数来执行
add
操作并将其传递给
reduce
,对乘法执行同样的操作…请共享完整的代码。很难理解您在
seq
中传递的内容。我认为从您的代码的结构来看,这似乎很明显。。。你到底有什么问题?@PrashantKumar这就是我所有的密码?还有更多吗?@Tomerikoo我很难理解我应该如何更改此代码以使其正常工作,正如您定义了一个函数来执行
add
操作并将其传递给
reduce
,对乘法执行相同的操作…顺便说一句,由于Python 3.8,通过
math
模块可以获得与
sum
等效的值:我使用了它,并且能够生成总和,无论我需要返回列表中项目的乘积,而不是总和。@FawcettFawcett对我来说,这非常有效
product([5,5])=25
BTW,因为Python 3.8,通过
math
模块可以获得一个等价的
sum
:我使用了它,并且能够生成总和,无论我需要返回列表中项目的乘积而不是总和。@Fawcett Fawcett对我来说,这非常有效
product([5,5])=25
@laundmo操作符是Python中内置的库,其唯一目的是提供简单的计算。我更喜欢并建议对操作员模块中提供的操作使用操作员。@PrashantKumar为什么?它们只是在源代码中执行
a*b
。我认为,如果你明确说明你在做什么,它会提高可读性。@laundmo看到
lambda
表达式(或
def
),简单地使mult比简单的
操作符.mul
更容易混淆。这是一个如此简单和明显的操作,鼓励使用
操作符
@Tomerikoo python第2行的禅:
显式比隐式好。
@laundmo implicit将定义一个名为
operate
的函数并使用它
operator.mul
非常明确。但我认为这场讨论已经走到了尽头。底线是,这是一个非常简单的用例,两个选项都很好。一般来说,如果您已经有了一个内置函数,可以做您想要的事情,为什么不使用它呢?@laundmo Operator是Python中的一个内置库,它的唯一目的是提供简单的计算。我更喜欢并建议对操作员模块中提供的操作使用操作员。@PrashantKumar为什么?它们只是在源代码中执行
a*b
。我认为,如果你明确说明你在做什么,它会提高可读性。@laundmo看到
lambda
表达式(或
def
),简单地使mult比简单的
操作符.mul
更容易混淆。这是一个如此简单和明显的操作,鼓励使用
操作符
@Tomerikoo python第2行的禅:
显式比隐式好。
@laundmo implicit将定义一个名为
operate
的函数并使用它
operator.mul
非常明确。但我认为这场讨论已经走到了尽头。底线是,这是一个非常简单的用例,两个选项都很好。一般来说,如果你已经有了一个内置的,可以满足你的需求,为什么不使用它呢?