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

Python函数传参数据类型异常:列表变为浮点数

解决Python列表传参时变为浮点数的类型错误

问题根源

你的代码中存在一个切片语法错误:当你想传入temperature_data的最后20个元素时,误写为simulated_environment.temperature_data[-20]——这会取出列表的倒数第20个单个浮点数元素,而非包含最后20个元素的子列表。正是这个错误导致plot_line函数收到的data参数类型是float,进而触发TypeError: object of type 'float' has no len()。

修复方案

将传参的索引语法改为切片语法[-20:],即可获取最后20个元素的子列表:

# 原错误代码
self.plot_line(simulated_environment.temperature_data[-20], color = "red", label = "Temperature")

# 修正后代码
self.plot_line(simulated_environment.temperature_data[-20:], color = "red", label = "Temperature")

关键语法说明

Python列表的索引与切片区别:

  • list[n]:返回列表中第n个位置的单个元素(n为负数时表示倒数第|n|个元素)
  • list[-n:]:返回列表的最后n个元素组成的子列表

修复后的预期运行输出

修正后,plot_line函数会收到正确的列表类型参数,运行输出将变为:

Temperature: 23.54 °C, Pressure: 102.80 kPa, Humidity: 41.43%
20
Sim Env Data is a List
Data Length: 20
Plotting Temperature Data
Sim Env: [24.604502008798338, 24.48558258335959, ..., 23.537914780551635]
Type of data: <class 'list'>
Data is a List
Length: 20

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:24:51