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

如何在Python三维列表中实现类似array[:,0,:]的索引选取?

解决Python三维列表的多维切片需求

首先得明确为什么test[:][0][:]达不到预期效果:

  • test[:]会取出第一维度的所有元素,返回一个包含4个二维列表的新列表(对应原test的z从0到3的每个元素)
  • 接着[0]是从这个新列表里取第一个元素,也就是原test[0]这个二维列表
  • 最后[:]是取test[0]里的所有子列表,这就和直接写test[0][:][:]完全一样,自然不符合你要的“第一维全选、第二维取第0个、第三维全选”的需求

Python原生列表没有NumPy那样的多维切片语法,要实现你的需求,用列表推导式就可以:

result = [item[0] for item in test]

或者更完整地写(和item[0]效果一致,因为[:]就是取整个子列表):

result = [item[0][:] for item in test]

这样遍历第一维度的每个元素item,取出每个item里第二维度的第0个元素(也就是第三维度的全部内容),最终得到的结果就和NumPy里array[:,0,:]的效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:20:15