如何将含字符串的嵌套列表转为浮点数?解决Type Error报错
问题解决:TypeError: float() takes at most 1 argument (2 given)
错误原因
你调用float(p, q)的方式有误——float()函数仅接受一个参数(要转换为浮点数的字符串/数值),第二个参数是可选的进制参数(仅用于进制转换场景),但你的需求是把p和q分别转成浮点数再求和,完全不需要传第二个参数。
修正后的代码
基础循环写法
C1 = [['1','2'], ['1','2']] int1 = [] for p, q in C1: # 分别将p、q转为浮点数后计算和 sum_result = float(p) + float(q) int1.append(sum_result)
简洁的列表推导式写法
C1 = [['1','2'], ['1','2']] int1 = [float(p) + float(q) for p, q in C1]
运行结果
执行后int1的值为[3.0, 3.0],完成了字符串转浮点数并求和的需求。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

