pythonのfor文をちと整理し直してみた。
特にリスト内包表記は完全に理解しきれんかったのでなかなかお勉強になりました。
目次
- 動作環境
- for文の概要
- 基本的な使い方: range、リスト、文字列
- 少し応用: リスト内包表記
動作環境
種類 | バージョン |
---|---|
MacBook Air | Ventura13.0.1 |
python | 3.9.6 |
jupyter notebook | 6.5.2 |
pandas | 1.5.2 |
for文の概要
for文はまぁ大体のプログラミング言語にあって、俗にiterable(繰り返し可能な)処理を行うものになる。
基本的な形式は、
for (変数) in (range or リスト):
処理
基本的な使い方: range、リスト、文字列
まずはrange関数。規定の関数繰り返したい時はこれを使うのが安牌。
for i in range(5):
print(i)
# 0
# 1
# 2
# 3
# 4
勿論、処理内に変数に入ってなくても規定の回数繰り返してくれる。
for i in range(3):
print('Hello!')
# Hello!
# Hello!
# Hello!
リストをinの後に入れ込むと、変数にリストの各要素が代入される。
for i in ['one', 'two', 'three']:
print(i)
# one
# two
# three
リストを入れてたところに文字列を入れると左から順に一文字ずつ変数に代入される。
for i in 'Konyanyachiwa!':
print(i)
# K
# o
# n
# y
# a
# n
# y
# a
# c
# h
# i
# w
# a
# !
少し応用: リスト内包表記
for文の仕組みを応用して、[]内でiterableにリストの成分を生成できる。
ある規則性を持った成分を持つリストを作るにはとても便利。
apple = [10, 20, 30, 40, 50]
の形のリストを作りたい時よくあるのは、for文を使って
apple = []
for i in range(5):
apple.append((i + 1) * 10)
print(apple)
# [10, 20, 30, 40, 50]
と書くのがまぁコードの構造としては一番明確。
for文の内包表記を使うとこの3行を1行で書けるゆえに便利。
# [(処理) for (変数) in (range or リスト)]
apple = [(i + 1) * 10 for i in range(5)]
print(apple)
# [10, 20, 30, 40, 50]
なおappendメソッドについては後々あげる(予定)