当遇到重复值时,我无法通过'index'功能的限制。
具体来说,对于字典中存在重复的给定值(如下例所示),有没有办法检索每次出现的值的索引,而不仅仅是第一个?
example_dict={'ABAB': [9,10,6,6,6]}
example_dict['ABAB'].index(6) # returns 2
我的目标是稍后在我的工作中使用这些索引。所以我需要知道9是索引0,10是索引1,而6是值中的索引2,3和4(不仅仅是2)。
有人可以为此提供一个解决方法的提示吗?非常感谢你的帮助。
答案 0 :(得分:2)
这应该可以解决问题:
>>> example_dict = {'ABAB': [9,10,6,6,6]}
>>> [i for i, x in enumerate(example_dict['ABAB']) if x == 6]
[2, 3, 4]
答案 1 :(得分:2)
答案 2 :(得分:0)
zz = {'a', [1,2,3,6,6,6,3,5,7,7,9,2]}
y = { }
K = [ ]
for z in zz :
for i in zz[z] :
y.setdefault(i , [zz[z].index(i)])
ii = zz[z].index(i)
zz[z][ii] = None
if i not in k :
k.append(i)
if i in zz[z] and i in k :
y[i].append(zz[z].index(i))
print(y)