

Pythonを学びたいと思っている方に非常におすすめな学習方法があります。それは、KaggleのCoursesです。特徴としては、以下のものがあります。
- 無料
- 面倒な環境設定なく
- 解説付きで
- 体系的に学習できる
これは、活用しないわけにはいかないですよね。ただ、このKaggleのCoursesは、英語で書かれています。なので、英語が苦手な初学者にはハードルが高いと感じるかもしれません。なので、日本語でコードの解説をしていきます。
まずは、以下の記事を参考に、KaggleのCoursesで独学する方法を解説しています。
Kaggle Courses|Pythonを無料で独学できる超簡単な方法
今回は、KaggleのCoursesの各論として、Python編の「Loops and List Comprehensions」の「tutorial」を解説していきます。
Loops and List Comprehensions(tutorial)
Loops
ループ(Loops)とは、あるコードを繰り返し実行する方法です。以下はその例です。
forループでは以下を指定します。
- 使用する変数名(ここではplanet)
- ループの対象となる値のセット(この場合はplanet)
これらをつなぐために「in」という言葉を使います。
「in 」の右側にあるオブジェクトは、反復処理をサポートするものであれば何でも構いません。基本的には、物の集まりとして考えられるものであれば、ループさせることができるでしょう。リストに加えて、タプルの要素を繰り返し処理することもできます

文字列の各文字をループさせることもできます。
range()
range()は数字の列を返す関数です。これはループを書くのに非常に便利であることがわかります。
例えば、ある動作を5回繰り返したいとします。
while loops
Pythonのループのもう一つのタイプはwhileループで、ある条件が満たされるまで反復します。
whileループの引数はブーリアン文として評価され、その文がFalseと評価されるまでループが実行されます。

リスト内包|List comprehensions
リスト内包はPythonの最も愛されているユニークな機能の1つです。リスト内包を理解する最も簡単な方法は、いくつかの例を見てみることでしょう。
ここでは、同じことをリストの理解なしに行う方法を紹介します。
また、if条件を追加することもできます。
(SQLに慣れている方は、「WHERE」句のようなものだと思っていただけるかもしれません)。
ここでは、if条件でフィルタリングを行い、ループ変数に変換を加えた例を紹介します。
通常は1行で書くことが多いのですが、3行に分けた方が構成がわかりやすいかもしれません。
(SQLの例えで言えば、この3行をSELECT、FROM、WHEREと考えることができます)。
左側の式は、技術的にはループ変数を含む必要はありません(含まないのはかなり珍しいことですが)。下の式は何と評価されると思いますか?出力」ボタンを押して確認してみましょう。
リスト内包とmin、max、sumなどの関数を組み合わせることで、数行のコードを必要とするような問題でも、1行で見事に解決することができます。
例えば、同じことをする次の2つのコードを比較してみてください。
ここでは、リスト内包を用いた解決策をご紹介します。
ずっといいでしょう?
もし私たちがコードの長さを最小限にすることだけを考えているのであれば、この第3の解決策はさらに優れています。
これらの解決策のうちどれが「ベスト」かは、完全に主観的なものです。より少ないコードで問題を解決することは常に素晴らしいことですが、『The Zen of Python』の次の一行を心に留めておくとよいでしょう。
- 読みやすさは重要です。
- 暗黙よりも明示の方が良い。
だから、これらのツールを使ってコンパクトで読みやすいプログラムを作りましょう。しかし、どちらかを選ばなければならないときは、他の人が理解しやすいコードを選びましょう。
Your Turn
次はあなたの番です。
KaggleのCourses|Loops and List Comprehensions_演習編
Kaggle Courses|Pythonを無料で独学できる超簡単な方法
KaggleのCourses|Hello, Python_解説編
KaggleのCourses|Functions and Getting Help_解説編
コメント