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

如何从numpy数组列表中提取元素索引并生成指定格式列表?

提取numpy数组列表中各元素的索引

可以用几种简单方式实现你的需求,核心逻辑就是遍历每个子数组,生成对应元素的索引并包装成单个元素的小列表,最后汇总成大列表:

方法1:嵌套循环(直观易懂)

import numpy as np

new_list = [np.array(['Black', 'Blue', 'Green']), np.array(['Horse', 'Dog', 'Cat', 'Owl'])]
result = []
# 遍历列表中的每个numpy数组
for arr in new_list:
    # 遍历当前数组的索引(从0到数组长度-1)
    for idx in range(len(arr)):
        # 将每个索引包装成单元素列表,加入结果
        result.append([idx])
print(result)  # 输出:[[0], [1], [2], [0], [1], [2], [3]]

方法2:列表推导式(简洁写法)

用列表推导式把嵌套循环压缩成一行代码,效果和上面完全一致:

import numpy as np

new_list = [np.array(['Black', 'Blue', 'Green']), np.array(['Horse', 'Dog', 'Cat', 'Owl'])]
result = [[idx] for arr in new_list for idx in range(len(arr))]
print(result)

方法3:结合numpy的arange生成索引

如果习惯用numpy的工具函数,可以用np.arange生成索引序列,再转成目标格式:

import numpy as np

new_list = [np.array(['Black', 'Blue', 'Green']), np.array(['Horse', 'Dog', 'Cat', 'Owl'])]
result = []
for arr in new_list:
    # 生成当前数组的索引数组,转成普通列表
    indices = np.arange(len(arr)).tolist()
    # 把每个索引包装成单元素列表,添加到结果中
    result.extend([[i] for i in indices])
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:27:12