【问题标题】:store the index of an element in an array in python在python中将元素的索引存储在数组中
【发布时间】:2023-04-06 02:15:01
【问题描述】:

我试图在这个数组中存储 1 和 0 的索引:

arr = [1. 0. 0. 1. 1. 1. 0. 1. 1. 1. 0. 1. 0. 1. 1. 0. 1. 0. 1. 1. 1. 0. 1. 1.
 0. 1. 1. 1. 0. 0. 1. 1. 0. 1. 1. 1. 1. 0. 1. 1. 1. 1. 1. 0. 0. 1. 1. 1.
 1. 1. 1. 1. 0. 0. 1. 0. 1. 0. 1. 1. 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0.
 0. 1. 1. 0. 1. 1. 1. 1. 0. 1. 1. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1.
 0. 0. 0. 0. 1. 0. 0. 1. 0. 1. 1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0.
 1. 1. 1. 0. 1. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 1. 0.]

这个 for 循环 ind_0 和 ind_1 是列表:

for i in range(len(arr)):
if arr[i]==0:
    ind_0.append(arr.index[i])

if arr[i]==1:
    ind_1.append(arr.index[i])

我收到一条错误消息,上面写着'numpy.ndarray' object has no attribute 'index'
问题是如何将元素的索引存储在数组中?我做错了吗?任何帮助表示赞赏

【问题讨论】:

  • 请修正您的索引。看来您正在使用 numpy 数组。这是你的意图吗?如果是,就做ind_1 = np.argwhere(arr==1),ind_0 = np.argwhere(arr==0)
  • 想一想,尤其是变量i...检查时如何使用它,例如arr[i] == 0?你不是已经把它用作索引了吗?那么为什么不将i 附加到您的列表中呢?

标签:
python
arrays
indexing