一致する値すべてのindexを取得するコードの内容がわかりません


一致する値すべてのindexを取得する単元を学習しております。[![listから1をindexする。](https://i.stack.imgur.com/KLpPb.png)](https://i.stack.imgur.com/KLpPb.png)

listから1をindexする問題となっており、解説では上記のコードが記載されておりました。  
私の勉強不足ですが、コードの中の「i for i」の部分がどのような意味を示し、どのような処理をするか不明となっております。  
分かる方がいらっしゃいましたら、教えていただけますでしょうか？  
よろしくお願いいたします。




> コードの中の「i for i」の部分がどのような意味を示し、どのような処理をするか不明となっております。

簡単なコードで説明します。

[code]

    result = [i for i in [1,2,3]]
    print(result)
    # [1, 2, 3]
    
[/code]

上記ではリスト[1,2,3]から要素を1つずつ取り出してiに格納しています。そしてiをそのまま新たなリストの要素としています。

例えば取り出した要素を2倍にしたい場合は下記コードにすれば良いです。

[code]

    result = [i*2 for i in [1,2,3]]
    print(result)
    # [2, 4, 6]
    
[/code]

1点指摘ですが、質問のコードでは変数名に`list`を使われていますがこれはPythonの組み込み型のため変数名に使うのは止めましょう。

