You need to enable JavaScript to run this app. 创建混合类型numpy结构化数组时定义布尔类型列触发语法错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

创建混合类型numpy结构化数组时定义布尔类型列触发语法错误如何解决

错误原因

你遇到的是Python语法错误,和布尔类型的标识?没有关系:

  • np.array()的第一个参数是结构化数组的元素列表,dtype是该函数的独立关键字参数,你错误地将dtype=写在了元素列表的方括号内部,导致语法解析失败。

修复方案

将元素列表和dtype参数分开即可,修正后的可运行代码如下:

import numpy as np

# 元素列表放在第一个参数位置,dtype作为第二个关键字参数传入
x = np.array([(1, 2., 'Hello', True)], dtype=[('int', 'i4'),('float', 'f4'), ('string', 'S10'),('bool','?')])

print(x[0][3])

运行后输出结果为True,符合你设置第四列为布尔类型的需求。

额外说明

你代码里写的x[0][3] != x[0][3]只是单次比较运算,没有赋值操作的话不会修改数组内的原有值,如果需要修改布尔字段的值,需要手动赋值,比如:

x[0][3] = x[0][3] != x[0][3]
print(x[0][3]) # 输出为False

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:48:02