リストの作り方
変数名 : numbers
値 : 2,5,7
のリストを作るとします。
numbers = [2, 5, 7]
のように書きます。
リストの個数の表示
リストのサイズ(要素数)を取得するときは、
len(numbers)
で取得できます。
リストの足し算
a = [2, 5, 7]
b = [3, 2, 2]
print(a + b)
"""
出力結果 : [2, 5, 7, 3, 2, 2]
"""
普通に足し算すると、リストに追加されてしまいます。
aとbのそれぞれの一番目、二番目、三番目を足すには、
a = [2, 5, 7]
b = [3, 2, 2]
c = [_a + _b for (_a, _b) in zip(a, b)]
print(c)
"""
出力結果 : [5, 7, 9]
"""
このようにfor文を使って書きます。
for文
for
は繰り返しをする時の"文"です。
for文と呼ばれ、
for 変数 in オブジェクト:
実行する処理
のように使われます。
上の list_addition.py ではzip()
も使われていますが、
これは、複数のリストをまとめる関数です。
なので、
[_a + _b for (_a, _b) in zip(a, b)]
の意味としては、
「aとbの要素を繰り返し_aと_bに代入していく。そして、その_aと_bを足し算する。その足し算したものを一番目から順番にリストにしていく。」
という意味になります。
リストの分割, if文
1から10までの数字が入ったリストを偶数と奇数で分割します。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd, even = [], []
for number in numbers:
if number %2 == 0:
even.append(number)
else:
odd.append(number)
print(odd, even)
"""
出力結果 : ([1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
"""
ここでは、if
が使われています。
for
との同時出現で少しややこしいですが、
odd, even = [], []
odd, even は空のリストであると定義。
for number in numbers:
numbers の中から、順番にnumberに代入していく。
if number %2 == 0:
もし、number が2で割り切れるなら、
even.append(number)
even に number を追加。
else:
そうでないなら、
odd.append(number)
odd に number を追加。
という意味になります。
難しそうに見えても、一文ずつ理解していけば分かりやすいですね。
条件をつなげたい時
条件をつなげたい時は
if x > 50 and x < 200:
のように記述すれば、「xが50より大きく200より小さい時」という条件にできます。
タプル
[]ではなく、()で囲うとリストではなく、タプル(tuple)になります。
numbers = (2, 5, 7)
タプルは後から中の要素を変更することはできません。