首页 > 解决方案 > 列表索引有重复的索引号

问题描述

type(train_x)
numpy.ndarray

train_samples = train_x.tolist()

当我打印index我的样本时,您会看到有重复的不正常。为什么会发生这种情况?

它弄乱了我的下游管道......但有时当索引决定保留自己时它运行良好。

for tr in train_samples:
    print(train_samples.index(tr))

...
11
12
13
14 # here
15
...
39
40
41
42
14 # here
...

证明关于重复条目的答案:

在此处输入图像描述

标签: pythonlistnumpy

解决方案


index方法从列表的前面搜索,因此如果您的数据包含重复值,index将始终只找到第一个。

>>> values = ['a', 'b', 'c', 'a']
>>> for v in values:
...  print("value", v, "occurs at index", values.index(v))
... 
value a occurs at index 0
value b occurs at index 1
value c occurs at index 2
value a occurs at index 0

来自list.index 的文档(添加了重点):

返回列表中第一个值为 x的项目的索引。如果没有这样的项目是错误的。


推荐阅读