【发布时间】:2016-05-13 10:55:21
【问题描述】:
我正在尝试使用带有用户输入列表的 lambda 函数来乘以所有输入的数字。如果输入 3、4、5,我想要这些数字的乘积。我也尝试过使用 operator.mult,但没有成功。
import operator
import functools
mult_list = list()
mult_list.append(input("Enter numbers seperated by a comma: "))
mult = functools.reduce(lambda x, y: x*y, [mult_list])
print mult
我通常会得到([无论输入什么数字])作为 lambda 和 operator.mult 的结果。任何帮助将非常感激!
【问题讨论】:
-
input("Enter numbers seperated by a comma: ")是一个字符串,而不是数字列表。您必须先拆分并映射到数字。 -
你可以这样做 map(int,"1,2,3".split(",")) 编辑:nvm,输入似乎是一个类型元组