2016-09-09 6 views
-1

最高のPython構文を使用してリスト内の一致のインデックスを探したいとします。ここで私が持っているものです。Python 3でのリストの理解からのインデックスの検索

v = ['=', 'c', '=', 'c', 'c', 'c', '=', 'c', 'c', '='] 

、の条件のための整数のリストを返す:

'=' in v is True 

これまでのところ、私が持っている:

リターン
[v.index(i) for i in v if i=='='] 

[ 0, 0, 0, 0 ] 

の代わりに:

[ 0, 2, 6, 9 ] 

私は最後のステップを逃しているので、 'for'ループ 'に入れたくありません。

答えて

0

使用enumerate:あなたが必要なもの

[i for i,x in enumerate(v) if x=='='] 
0

はこれです:

[i for i, entry in enumerate(v) if entry == '='] 

この理解とあなたの違いはあなたに、一致を検出した後、あなたはそれを返しindexだ得るということですオブジェクトが見つかったリストの位置初めての場合。そういうわけで、あなたは0を得ます。

+0

本当にありがとう。 –

関連する問題