2016-04-07 3 views
-4

これには別の答えがあることは知っていますが、それは複雑なユーザーにとってです。私は数日前に始まった基本的なPythonユーザーです。だから私は簡単な答えが必要ですこのコンテキストで列挙する内容[Python]

私はこのコード行を理解しようとしています。主に列挙部分。誰かが列挙するものを喜ばせることができますか?アドバンス

+0

[何が列挙しているのですか?](http://stackoverflow.com/questions/22171558/what-does-enumerate-mean) –

+1

[docs](https://docs.python .org/3/library/functions.html#enumerate)この質問をする前に? –

+0

@MattBallはい私は持っていますが、私は文脈で簡単な説明が必要です –

答えて

0

enumerate

f = open("solutions.txt", "r") 
searchlines = f.readlines() 
for i, line in enumerate(searchlines): 

おかげで、テキストファイルのi番目のラインであるline文字列を、一緒に、ラインインデックス、i変数を生成するために使用されます。 iterableからインデックスを取得するのは、iterableのような共通のイディオムで、enumerateはこれを行うためのエレガントな方法を提供します。もちろん、整数カウンタiを初期化し、各行が読み込まれた後にインクリメントすることもできますが、列挙はそれを行います。主な利点は、コードの可読性です。i変数の初期化とインクリメントステートメントは、ループが何をしようとしているのかを示すために厳密には必要でないブックキープコードです。 Pythonは、コードのビジネスロジックを簡潔かつ重要なものにすることに優れています。 Raymond Hettingerのプレゼンテーションでは、これらの優れたnotesから慣用句の詳細を学ぶことができます。

+0

助けてくれてありがとう。残念ながら私はそのほとんどを理解していませんでした。私が言ったように、私は初心者ですが、まだPythonについてはあまり知らないです。あなたはどんな簡単な言葉でそれを置くことができますか? –

+0

'f = open(" solutions.txt "、" r ")'ファイルを開き、fに代入すると、 'f.readlines()'はファイル内のすべての行を読み込み、 'searchlines'変数です。 Pythonのリストは 'iterable'オブジェクトです。次のforループ(他の言語ではforeach)は、リストの各行を繰り返し処理します。列挙はあなたにもっと何かを与える:インデックスiは、リスト内の行のインデックスに対応する(したがって、0から始まっても行番号にも対応する)。このコードを追加するには、ループ内にprint( '{0}:{1}'形式(i + 1、行))を追加する必要があります。 – Cyb3rFly3r

+0

ありがとうございました。 &私はそれを変更するとは思わない私は最終的に仕事にgitしたように今 –

関連する問題