Python 复杂对象索引 - 访问特定嵌套元素时遇到问题

标签 python indexing

这是一个训练示例,在现实世界中可能有也可能没有应用。我简化了它只是为了说明问题。一旦构建完成,我就很难找到正确的语法来索引子元素。希望有人能破解这个......只是为了学习值(value)。

import numpy as np
import pandas as pd

# some simple arrays:
simp1=np.array([[1,2,3,4,5]])
simp2=np.array([[10,9,8,7,6]])
simp3=[11,12,13]

trueSimp1=np.array([10,9,8,7,6])

crazyList = [simp1, simp2, simp3, trueSimp1]

我们可以通过以下方式访问最后一个对象的第一个元素:

crazyList[3][0]

我们可以通过以下方式查看整个第一个对象:

crazyList[0]

但是如何获取第一个对象中的子元素呢?我尝试了 [0][1]、[0,1]、[[0]]、[[0][1]] 等许多失败的想法......但似乎找不到合适的想法它。只是为了学习,我想将此答案添加到我正在构建的笔记中。

最佳答案

为了学习的目的,您应该知道这个列表是您永远不需要处理的理想结构。

您的问题是 crazyList 中的第一个元素具有空嵌套级别(请注意额外的方括号)。也就是说,ndarray 包含另一个包含实际元素的ndarray

>>> crazyList[0]
array([[1, 2, 3, 4, 5]])
>>> type(crazyList[0][0])
numpy.ndarray

因此,要访问各个元素,您需要索引附加层。

>>> crazyList[0][0][1]
2

关于Python 复杂对象索引 - 访问特定嵌套元素时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42423276/

相关文章:

mysql - 500个搜索引擎索引,每个都需要计算。如何扩展?

MYSQL: Two fields as PRIMARY KEYs + 1 Field as UNIQUE, 一道题

python - Python-CV2:录制的视频速度问题

python - 使用 C 扩展或 Cython 优化非平凡 Python 应用程序的教程

python - 尝试使用 NumPy 数组制作的 tvtk 保存 vtk 文件

indexing - openssl 的字段数量错误

mysql - 我可以在Mysql中强制合并索引吗

python - 在 Python 2.7 中保存/加载大型列表的最快方法是什么?

python - 为什么 tf.gradient 和 tf.where 返回 None ?

python - 查找列表中项目的索引