所以我正在检查列表并打印所有等于三的值
for item in top:
if item == 3:
print('recommendation found at:')
print(top.index(item))
问题是这将继续打印第一个具有值3的元素。如何打印每个元素的每个位置值为3?
答案 0 :(得分:1)
使用enumerate
。
>>> top = [1, 3, 7, 8, 3, -3, 3, 0]
>>> hits = (i for i,value in enumerate(top) if value == 3)
这是一个生成i
所有索引top[i] == 3
的生成器。
>>> for i in hits:
... print(i)
...
1
4
6
答案 1 :(得分:0)
从
https://docs.python.org/2/tutorial/datastructures.html
索引:"返回值为x的第一个项目列表中的索引。"
一个简单的解决方案是:
for i in range(len(top)):
if top[i] == 3:
print('recommendation found at: ' + str(i))