You need to enable JavaScript to run this app. Python for循环逐行输出数值如何合并为列表,解决numpy.float32不可迭代报错
优惠活动
大模型
产品
解决方案
定价
更多

Python for循环逐行输出数值如何合并为列表,解决numpy.float32不可迭代报错

错误原因

你收到报错的核心原因是data[i]['born']返回的是单个numpy.float32类型的数值,list()方法要求传入可迭代对象,无法直接将单个数值转换为列表元素,因此触发不可迭代的报错。
同时你原先的代码还有一个逻辑问题:你把br列表的定义放在了for循环内部,每次循环都会清空重置br,无法累积存储每次取到的数值。

修复方案

把br的初始化放到循环外部,每次循环将取到的born值追加到br中,循环结束后再打印br即可得到你需要的列表格式,修正后代码如下:

z = list(country)
del z[99]

br = []
for i in z:
    br.append(data[i]['born'])
print(br)

你也可以用更简洁的列表推导式实现相同效果:

z = list(country)
del z[99]
br = [data[i]['born'] for i in z]
print(br)

如果后续需要对该序列做数值计算,还可以直接转换为numpy数组提升运算效率:

import numpy as np
br_np = np.array(br)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 01:15:05