【发布时间】:2018-11-22 11:53:05
【问题描述】:
我正在尝试获取数组中某些重复元素的索引。代码如下:
cc = []
ang=[12,13,89.0,14,15,16,89.0,17]
class Index:
def __init__(self, **kwargs):
self.Angle = kwargs['Angle']
def ind(self):
for mm in range(0, len(self.Angle)):
if self.Angle[mm] == 89.0:
ee = self.Angle.index(self.Angle[mm])
cc.append(ee)
return cc
plus = Index(Angle=ang)
plus1 = plus.ind()
print (plus1)
我想在列表(ang)中找到repeated number = 89.0的索引。我希望得到 [2,6] 但我一直得到 [2,2] 这是错误的。有人知道我该如何解决吗?我知道可以通过更改此代码的格式来做到这一点,但我更喜欢保留这种格式(使用 kwargs 和 class)。谢谢!
【问题讨论】:
-
只要使用
[i for i, e in enumerate(ang) if e == 89.0] -
我喜欢
enumerate,而不是下面的建议。
标签: python python-2.7 indexing duplicates