私がしたいのは、リスト内の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]
私はマイリストに2ゼロ持っているときに問題がある:
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, 1, 0, 1]
V == 0の場合、常に同じJが必要なようです。
これを修正するにはどうすればよいですか?
を使用することができます'mylist.index(V)'は '_'の最初の出現のインデックスを返します。それは常に同じ場所になるので、なぜ同じ数が増分されているのですか。また、あなたのコードは、 '[0、0、1、0、1]'を生成するprint([int(a == 0)in mylist]) 'に置き換えることもできます。 –
'mylist'を反復して' V 'のインデックスを取得したいのであれば、 'for i、V in enumerate(myList)'を使うのはなぜですか? – Jakub