Python3のenumerate関数について解説されているいろいろなwebページを読みますと、
以下のような感じに書かれています。
すなわち、
enumerate関数はリストの要素とともにインデックスを取得する関数であり、
for 変数(1), 変数(2) in enumerate(リスト):
という形でforループとともに用いられることが多く、
変数(1)にはリストのインデックスが、
変数(2)にはリストの要素が、
各々取得される。
とのことなのですが、
変数(1)には、本当にリストのインデックスが取得されるのでしょうか?
といいますのは、
list001 = ['red', 'green', 'yellow', 'blue', 'purple']
for i, color in enumerate(list001[1:4]):
print(i, color)
このコードを実行しますと、
0 green
1 yellow
2 blue
という実行結果が出ます。
enumerate関数の第二引数を何ら指定していませんので、
もしリスト「list001」のインデックスが出力されるのでしたら、
1 green
2 yellow
3 blue
となるはずではありませんか?
enumerate関数の上記変数(1)には、リストのインデックスではなく、
enumerate関数が新たに付与するインデックスが取得されるのではないのでしょうか?
私は超初心者なので、どこかに勘違いがあると思うのですが、
どうにも理解できず、困っています。
どうぞ、よろしくお願い致します。
##【その後の報告】##
改めまして、can110さん、LouiS0616さん、katoyさん、ご回答ありがとうございました。
質問してから少し時間が経ってしまいましたが、
頂いたご回答からとても理解が深まりました。
ところで、ご回答をすぐにつけてくださったcan110さんのアドバイスに感動して即座にベストアンサーとしていましたが、
質問タイトルとの兼ね合いで、仮にここを参考になさる方があった場合を考えて、
より直接的なご回答をつけてくださったLouiS0616さんのご回答にベストアンサー変更とさせていただきます。
そのうち私もご回答者の方々のようなPython使いになりたいと勉強しております。
どうぞ、今後ともよろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/13 05:34