私は任意のリストに 'False'値のインデックスを返す関数を作成しようとしています。私はこのために発電機を使いたいと思っています。Python 2.7xジェネレータがブールリストの "False"のインデックスを返します
私は以下の書いた:
def cursor(booleanList):
for element in booleanList:
if element is False:
yield booleanList.index(element)
をだから、例えば私は、
testList = [True, False, True, False]
そして、下記のリストを持っている:
g = cursor(testList)
私は自分のコードを使用している場合しかし、私はなるだろう:
> g.next()
1
> g.next()
1
> g.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
私が得ることを期待に対し:
> g.next()
1
> g.next()
3
> g.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
は、コードに問題がありますか?どんな助けでも大歓迎です。
あなたが本当に必要としているのはおそらく 'enumerate'でしょう。 – user2357112
'[indのためのind、値のない列挙(testList)の値]' – styvane