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

如何在Python NumPy数组中输入空格分隔的整数

报错原因

你触发的TypeError: expected sequence object with len >= 0 or a single integer错误,是因为传入NumPy数组初始化相关API(比如np.ones、np.zeros)的形状参数不符合要求:大概率是读取第一行输入后没有做整数类型转换,直接把字符串格式的长度值传给了需要整数参数的函数。

等效实现方案

要实现和list(map(int,input().split(" ")))功能完全一致、直接生成NumPy数组的效果,有两种常用写法:

  • 高性能写法(无列表中转,适合大输入量场景):使用np.fromstring直接解析输入字符串
    import numpy as np
    # 读取第一行的数组长度,不需要做长度校验可以省略这行
    arr_len = int(input())
    # 按空格切分输入,直接生成int类型NumPy数组
    arr = np.fromstring(input().strip(), dtype=int, sep=' ')
    
  • 兼容原有map逻辑的写法:直接将map对象传入np.array,不需要先转成Python列表
    import numpy as np
    arr_len = int(input())
    arr = np.array(map(int, input().split()), dtype=int)
    
注意事项

所有需要传入形状参数的NumPy数组构造函数,参数必须是整数或者由整数构成的序列,直接传入读取到的原始字符串输入一定会触发类型错误。

内容的提问来源于stack exchange,提问作者085Pushpraj Singh Pawar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:01:18