2016-04-09 28 views
2

Bu yüzden bir listesini kontrol ve problem şudur sadece sürekli birinci elemanını yazdırır üçelemanları

for item in top: 
    if item == 3: 
     print('recommendation found at:') 
     print(top.index(item)) 

eşittir tüm değerleri yazdırdığımı tekrarladı listesiyle() .Index kullanma Bu 3 değerine sahip. Her öğenin her konumunu 3 değeriyle nasıl yazdırabilirsiniz? "Değeri x olan ilk öğe listesinde endeksi dön.":

cevap

1

kullanın enumerate.

>>> top = [1, 3, 7, 8, 3, -3, 3, 0] 
>>> hits = (i for i,value in enumerate(top) if value == 3) 

Bu

tüm indisleri i top[i] == 3 verecek bir jeneratördür.

>>> for i in hits: 
...  print(i) 
... 
1 
4 
6