0

系统: WIN10

IDE: MS VSCode

语言: Python 3.7.3 版

库:熊猫版本 1.0.1

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

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

我在尝试使用“map”函数映射转换器函数(我使用 lambda 构建)以遍历样本温度列表时遇到问题。下面提供了示例代码,它不断抛出以下错误: TypeError: () 接受 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
4

1 回答 1

1

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))
于 2020-05-29T15:01:09.140 回答