Using Map function with Lambda in Python: TypeError: () takes 0 positional arguments but 1 was given
Using Map function with Lambda in Python: TypeError: () takes 0 positional arguments but 1 was given
系统:WIN10
IDE: MS VSCode
语言:Python版本 3.7.3
库: pandas 版本 1.0.1
数据来源:下方提供的基础数据
数据集: 下面提供的基础数据
我在尝试使用 "map" 函数映射转换器函数(我使用 lambda 构建)以遍历样本温度列表时遇到问题。下面提供了示例代码,它不断抛出以下错误:TypeError: () takes 0 positional arguments but 1 was given
采取的步骤:
- 测试了独立的代码片段以确保自
以来制作的临时文件中的元组列表
- 在线搜索错误代码,但找不到任何内容
代码:
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))
系统:WIN10
IDE: MS VSCode
语言:Python版本 3.7.3
库: pandas 版本 1.0.1
数据来源:下方提供的基础数据
数据集: 下面提供的基础数据
我在尝试使用 "map" 函数映射转换器函数(我使用 lambda 构建)以遍历样本温度列表时遇到问题。下面提供了示例代码,它不断抛出以下错误:TypeError: () takes 0 positional arguments but 1 was given
采取的步骤:
- 测试了独立的代码片段以确保自 以来制作的临时文件中的元组列表
- 在线搜索错误代码,但找不到任何内容
代码:
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))