You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取文本文件得到的列表传入自定义函数报类型错误如何解决?

问题原因

  • readlines()读取文件返回的每个元素是带换行符的字符串类型,无法直接参与数值运算
  • 自定义函数f(x)仅支持单个数值入参,不能直接传入整个列表批量计算
  • 原代码未导入math模块,调用math.log10会额外报错

修正后的完整代码

import math

# 读取文件并直接转换为浮点数列表,with语句会自动关闭文件无需手动调用close
with open('example.txt', 'r') as text_file:
    ex_list = [float(line.strip()) for line in text_file.readlines()]

# 定义自定义函数
def f(x):
    return (x - (5*math.log10(132)))

# 批量处理列表得到结果
result_list = [f(num) for num in ex_list]

# 输出结果查看
print(result_list)

关键修改说明

  • 新增import math导入依赖模块
  • 读取每行后调用strip()清除首尾空白(包括换行符),再用float()转成浮点数类型
  • 通过列表推导式遍历数值列表,逐个调用自定义函数得到结果列表

内容的提问来源于stack exchange,提问作者user16857156

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:09:05