首页 > 解决方案 > python - 如何在python中为常规数组和python查找数组中的最后一个元素?

问题描述

使用 len(array) -1 时,我得到一个错误,即使用 array[-1] 时数组没有 len,

IndexError: invalid index to scalar variable.

任何帮助,将不胜感激!

标签: python

解决方案


你是对的,在常规 Python 数组和 Numpy 数组中检索数组的最后一个元素是正确的方法。

常规数组:

ary = [1,2,4]
ary[-1]
>>> 4
len(ary)
>>> 3

numpy 数组:

import numpy as np

ary = np.array([1,2,4])
ary[-1]
>>> 4

至于你得到的原因

IndexError:标量变量的索引无效

,根据您评论中提供的描述,最可能的原因是您将len()函数和索引应用于 Numpy 中的“非数组”对象。在下面的示例中,ary是一个Numpy数组,但ary[0]它只是一个整数,而不是数组对象。

ary = np.array([1,2,4])

len(ary[0][1])
>>> TypeError: object of type 'numpy.int32' has no len()

ary[0][1]
>>> IndexError: invalid index to scalar variable.

推荐阅读