我想要做的是一個列表中0值的計數器。 我想使用python做一個計數器,但它似乎不工作。 我需要擁有所有值的最終列表數。在python中創建計數器的索引問題
我的代碼是:
count=[0,0,0,0,0] #counter
mylist=[0.9971989983534086, 0.9855488723192819, 0, 0.979924988605467, 0.9740293465156515]
for V in mylist:
J=mylist.index(V) #J is the index of V
if V==0:
count[J] = count[J] + 1
print count
至於結果,我有:
[0, 0, 1, 0, 0]
問題是,當我有MYLIST 2個0:
count=[0,0,0,0,0] #counter
mylist=[0.9971989983534086, 0.9855488723192819, 0, 0.979924988605467, 0]
for V in mylist:
J=mylist.index(V)
if V==0:
count[J] = count[J] + 1
print count
結果是: [0, 0, 2, 0, 0]
而不是[0, 0, 1, 0, 1]
它看起來像它總是相同的J如果V == 0。
任何想法解決它?
獲取指數'mylist.index(V)'返回'0'的_first_事件的索引。它總是會是同一個地方,因此爲什麼相同的數字正在增加。另外,你的代碼可以用'print([int(a == 0)for a mylist])'代替,它產生'[0,0,1,0,1]'。 –
如果您正在遍歷'mylist'並且想獲得'V'的索引,爲什麼不直接使用'for i,在枚舉(myList)中使用V? – Jakub