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

Python使用numpy生成一维数组时输出为嵌套列表的问题求助

问题原因

你的代码存在两个核心错误:

  1. 赋值逻辑错误:d=[d,c[r_max*I-J+3]] 会把当前的d和新取到的numpy数组打包成新的二维列表,每循环一次就多一层嵌套,这就是你得到多层嵌套结构的原因。
  2. 你直接把numpy数组对象加入列表,打印时就会显示array()前缀,且没有把数组内部的元素展开。

修改后代码

import numpy as np

c=np.array([[1,11,21,31,5],[4,14,24,34,5],
             [7,17,27,37,5],[31,41,51,61,5],[34,44,54,64,5],
             [37,47,57,67,5],[61,71,81,91,5],[64,74,84,94,5], 
            [64,74,84,94,5],[64,74,84,94,5], 
              [64,74,84,94,5]
             ,[64,74,84,94,5],[64,74,84,94,5],[64,74,84,94,5], 
               [64,74,84,94,5], 
              [67,77,87,97,5]])
s=np.array([4,3,2,1])
r_max=np.max(s)
d = []
x=4
for I in range(x-1,-2,-2):
    for J in range(r_max-s[I]):
        # 用extend方法把numpy数组的元素展开追加到列表,不做嵌套赋值
        d.extend(c[r_max*I-J+3].tolist())

# 打印普通Python列表,和你预期的输出格式一致
print(d)
# 如果需要numpy格式的一维数组,用下面的代码即可
# print(np.array(d))

运行后即可得到无嵌套、无array()前缀的一维序列。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:24:03