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