将映射函数与 Lambda 一起使用:TypeError: () 需要 0 个位置参数,但给出了 1 个



系统:WIN10

IDE:MS VSCode

语言:Python 版本 3.7.3

库:熊猫版本 1.0.1

数据来源:下面提供的基础数据

数据集:下面提供的基础数据

由于某种原因,我在尝试使用"map"函数映射转换器函数(我使用 lambda 构建(来迭代样品温度列表时遇到了问题。下面提供了示例代码,它不断抛出以下错误:类型错误:(( 需要 0 个位置参数,但给出了 1

采取了步骤:

  1. 测试了独立的代码片段,以确保自
  2. 在线搜索错误代码,找不到任何内容

法典:

temps = [('Berlin', 29), ('Cairo', 36), ('Buenos Aires', 19), ('Los Angeles', 26), ('Tokyo', 27), ('New York', 28), ('London', 22), ('Beijing', 32)]
c_to_f = lambda: (data[0], (9/5)*data[1] + 32)
list(map(c_to_f, temps))

错误

TypeError: () takes 0 positional arguments but 1 was given

map函数会将temps的每个元素作为参数传递给c_to_f

更改c_to_f定义,使其需要一个参数:

def c_to_f(data):
return data[0], (9/5)*data[1] + 32

或者只是做:

list(map(lambda data: (data[0], (9/5)*data[1] + 32), temps))

最新更新