🔙
🔝

リスト型データを使いこなす機能一覧

ここがわかるようになったらあとはラクです👍

Chatpter.1 - 引数

引数とは

  • 関数やメソッドの ( ) の中に入れる値のことを『 引数ひきすう 』といいます。

  • int(引数)str(引数) だけでなく、print(引数) もそうです。

  • ( ) だけの場合は『引数なし』と言ったりします。

  • 馴染みのない言葉なので初めはインスウと呼んでしまうかもしれませんが、『ひきすう』です。

  • そして、( ) の中に引数を入れて関数に見せることを『引数を渡す』と言います。

  • 渡すと言っても、値を渡したら元の値が無くなるわけではありません。

  • 引数は、関数にその値を見せるだけです。

    関数はその引数の値を写し取ってから関数の中だけで使います。
    関数が戻り値を返したら、写し取った値は、破棄されます。


  • 関数の仕組みがわからないと意味がよくわからないかも知れませんね。💦

  • 「関数」は3章で扱いますので、もう少し待っててください。🙏

Chatpter.2 - メソッド

メソッドとは

  • int()print() みたいな関数の「リスト型専用版」です。

  • 変数.メソッド のような書き方をして使います。

    メソッド ( ) の中身 機能
    reverse ソートする。reverse=Trueで降順
    値をリストの末尾に追加する
    要素番号 リストの末尾、もしくは要素番号の要素の値を取り出す
    なし リストの要素の値を逆順にする
    ( ) 内の値をリストから1つ取り除く
    ( ) 内の値がある要素の要素番号を取得する
    ( ) 内の値がいくつあるかを数える
    要素番号, 値 指定した要素に値を挿入する
        ↑ メソッド名をクリックしても飛べます。
.sort()

.sort()

  • 昇順でソートします。(小さい順)

    nums = [2, 1, 4, 3, 6, 5]
    
    nums.sort()
    print(nums)
    
    [1, 2, 3, 4, 5, 6]

  • 降順でソートします。(大きい順)

    nums.sort(reverse=True)   # 逆順にする場合
    print(nums)
    
    [6, 5, 4, 3, 2, 1]

    nums はコピペ、それ以外は打ち込んで動かしてみてください!


  • .sort() はリストの順番を直接書き換えてしまいます。

    元のリストを残しておきたい場合は、この後 Chatpter.3sorted() を使います。

.append()

.append()

  • リストの末尾に、値を追加します。

    nums = []  # 先に空のリストを作って用意しておく
    
    nums.append(1)
    print(nums)
    
    [1]← 空のリストに 1 が追加される

    nums.append('ネコ')
    print(nums)
    
    [1, 'ネコ'][1]'ネコ' が追加される

    nums.append(3 * 5)
    print(nums)
    
    [1, 'ネコ', 15]← さらに 15 が追加される

    上から順に、続けて打ち込んでください!


  • append は「追加する」という意味です。
    このメソッドは、とてもよく使われる重要な機能です。

.pop()

.pop()

  • リストの末尾の値を取り出して、全体がその値に化けます。

    nums = [1, 2, 3, 4, 5]
    num = nums.pop()
    
    nums = [1, 2, 3, 4]  # ← 末尾の 5 が取り出された
    num = 5       # 5 に化ける。化けた値を使うので 変数が必要です
    print(nums)
    print(num)
    
    [1, 2, 3, 4]← nums 5← num

  • 引数を要素番号にすると、その要素の値が取り出せます。

    nums = [1, 2, 3, 4, 5]
    num = nums.pop(1) # 要素番号1の値の 2 を取り出す
    
    nums = [1, 3, 4, 5]
    num = 2       # 2 に化ける
    print(nums)
    print(num)
    
    [1, 3, 4, 5]2nums から num に移る 2← num
    引数を 0 ~ 4 に変えて試してみてください!

  • .pop() の便利さがわかるのは、もっと後になってからかもしれません。

.reverse()

.reverse()

  • リストの並びを逆順にします。

    nums = [1, 2, 3, 4, 5, 6]
    nums.reverse()
    print(nums)
    
    [6, 5, 4, 3, 2, 1]

  • [::-1] と違うのは、リストを書き換えるかどうかです。

    .reverse() は、元のリストを書き換えて新しくします。
    [::-1]は逆順にした後のリストに化けるだけなので、元のリストは変わらずに残ります。

  • .reverse()[::-1] との結果を、直接 print() で見て比較してみましょう。

    .reverse() の場合

    nums = [1, 2, 3, 4, 5, 6]
    print(nums.reverse())
    print(nums)
    
    [6, 5, 4, 3, 2, 1]
    [6, 5, 4, 3, 2, 1]nums が書き換わる

    [::-1] の場合

    nums = [1, 2, 3, 4, 5, 6]
    print(nums[::-1])
    print(nums)
    
    [6, 5, 4, 3, 2, 1]
    [1, 2, 3, 4, 5, 6]nums は元のまま
    リストの要素の値を自由に変えてみてください!

.remove()

.remove(引数)

  • 引数に指定した値をリストの中から1つ取り除きます。

  • 同じ値が複数ある時は、左から順に見て最初に見つけたものを取り除きます。

  • 値が見つからなかったときは、エラーになりますので注意してください。

  • fingers = ['爺', '婆', '殿', '姫', '爺', '婆', '殿', '姫']
    fingers.remove('殿')  # ↑ これ
    print(fingers)
    
    ['爺', '婆', '姫', '爺', '婆', '殿', '姫']

    要素の値を数値にしたので、サクサク試してみてください!
    リストに存在しない値を指定して怒られてみてください!

  • 要素番号で取り除くのが .pop()
    で取り除くのが .remove()

    .remove() は値のある要素を取り除くだけの機能なので、化けたりしません。


.index()

.index(引数)

  • 引数に指定した値をリストの中から見つけて、その場所の要素番号に化けます。

  • 同じ値が複数ある時は、左から順に見て最初に見つけたものが選ばれます。

    fingers = ['爺', '婆', '殿', '姫', '爺', '婆', '殿', '姫']
    idx = fingers.index('殿')
    print(idx)
    
    fingers = ['爺', '婆', '殿', '姫', '爺', '婆', '殿', '姫']
    idx = 2     # 化けた値を使うので 変数が必要です
    print(idx)
    
    2
  • 値が見つからなかったときは、エラーになりますので注意してください。

  • 値が見つからなかったとき

    fingers = ['爺', '婆', '殿', '姫', '爺', '婆', '殿', '姫']
    idx = fingers.index('猫神様')
    print(idx)
    
    Traceback (most recent call last):
      File "Main.py", line 2, in <module>
        idx = fingers.index('猫神様')
    ValueError: '猫神様' is not in list
    

    要素の値を数値にしたので、サクサク試してみてください!
    リストに存在しない値を指定して怒られてみてください!

.count()

.count(引数)

  • 引数に指定した値がリストの中にいくつ含まれているかを数えます。

    fingers = ['爺', '婆', '殿', '姫', '爺', '婆', '殿', '姫']
    cnt = fingers.count('殿')
    print(cnt)
    
    fingers = ['爺', '婆', '殿', '姫', '爺', '婆', '殿', '姫']
    cnt = 2     # 化けた値を使うので 変数が必要です
    print(cnt)
    
    2← 2個あった
    何度も実行して、動きを確認してみてください!
  • プログラミングでは値や要素の数を数えることがよくあります。
    値や要素の数を数える機能がある」ということだけでも覚えておきましょう。

.insert()

.insert(引数1, 引数2)

  • 引数1の要素番号に、引数2の値を挿入します。

  • 要素番号は int 限定です。

  • こんな感じです。

    titles = ['う', 'た', 'わ', 'れ', 'る', 'も', 'の']
    titles.insert(2, 'が')
    print(titles)
    
    ['う', 'た', 'が', 'わ', 'れ', 'る', 'も', 'の']

  • もう一例。

    lst = ['A', 'R']
    lst.insert(1, 'I')
    print(lst)
    
    ['A', 'I', 'R']

    ↓ 先頭にも挿入できます
    lst = ['A', 'I', 'R']
    lst.insert(0, 'P')
    print(lst)
    
    ['P', 'A', 'I', 'R']

    .append() みたいに末尾にも挿入できます
    lst = ['P', 'A', 'I', 'R']
    lst.insert(4, 'S')
    print(lst)
    
    ['P', 'A', 'I', 'R', 'S']

    結果は同じでも insert なので、追加ではなく挿入と言います。(ただの理屈)


  • 要素数より大きな数にしても末尾に挿入されます。100万多くても!

    lst = ['P', 'A', 'I', 'R']
    lst.insert(4 + 10**6, 'S')  # 10**6 は 100万
    print(lst)
    
    ['P', 'A', 'I', 'R', 'S']

  • .insert() は他のメソッドに比べるとそんなに使う機会は無いかもしれません。

Chatpter.3 - 関数

関数とは

  • 引数を与えると、機能に応じて決まった値になって返ってくる機能です。😺❓
  • お金を入れると商品が出てくる自動販売機のような感じです。

  • 特定の値になって返ってくる値の事を『 戻り値もどりち 』または 『 返り値かえりち 』と言います。

  • 戻り値は、関数ごと化けます。

  • メソッドと違って、リスト型以外にも使えるものもあります。

  • 関数(引数) と書いて使います。

  • ( ) の中身は、今回はリスト型変数が入ります。

    関数 機能 戻り値の型
    リスト内の値を並び替える list
    リストの要素数を数える int
    リスト内の一番大きな値を返す int, str
    リスト内の一番小さな値を返す int, str
    リスト内の数値を合計する int
    リストの値に番号(数値)を振り、タプルで返す (int, 値)
        ↑ 関数名をクリックしても飛べます。

  • まだピンとこないかも知れません。

  • ここはではまだ関数というものを学ぶわけではありませんので、以下の便利な関数の使い方だけでも軽く知っておいてください。
sorted()

sorted(引数)

  • sorted() は引数のリストを基にソートして、
    ソートした後の戻り値のリストに関数が化けます。

    引数にした元のリストは書き換わりません。

  • 昇順でソートします。(小さい順)

  • 戻り値は ソートされた後の リスト となります。

    nums = [2, 1, 4, 3, 6, 5]
    
    sorted_nums = sorted(nums)
    print(nums)
    print(sorted_nums)
    
    sorted_nums = sorted([2, 1, 4, 3, 6, 5])
    print(nums)
    print(sorted_nums)
    
    ↓ ソート後のリストに化けてから変数に代入
    sorted_nums = [1, 2, 3, 4, 5, 6]
    print(nums)
    print(sorted_nums)
    
    [2, 1, 4, 3, 6, 5]nums の中身は変わらない
    [1, 2, 3, 4, 5, 6]

  • 降順でソートします。(大きい順)

    nums = [2, 1, 4, 3, 6, 5]
    
    sorted_nums = sorted(nums, reverse=True)
    print(nums)
    print(sorted_nums)
    
    sorted_nums = sorted([2, 1, 4, 3, 6, 5], reverse=True)
    print(nums)
    print(sorted_nums)
    
    ↓ ソート後のリストに化けてから変数に代入
    sorted_nums = [6, 5, 4, 3, 2, 1]
    print(nums)
    print(sorted_nums)
    
    [2, 1, 4, 3, 6, 5]nums の中身は変わらない
    [6, 5, 4, 3, 2, 1]

    実際に打ち込んで試してみてください。

len()

len(引数)

  • リストの要素数を数えます。(length)

    words = ['ラーメン', '大好き', '小沼', 'さん']
    
    words_len = len(words)
    print(words_len)
    
    words_len = len(['ラーメン', '大好き', '小沼', 'さん'])
    print(words_len)
    
    words_len = 4    # 要素数は 4個
    print(words_len)
    
    4
    何度も実行して、動きを確認してみてください!
  • 「要素数なんて数えてどうすんの?」

    と思ったりするこの機能。
    .count() 同様「数える」機能は本当によく使います。

max()

max(引数{, 引数, ・・・})

  • リストの中の値で、一番大きな値を見つけます。(maximum)

    nums = [2, 1, 4, 3, 6, 5]
    
    max_num = max(nums)
    print(max_num)
    
    max_num = max([2, 1, 4, 3, 6, 5])
    print(max_num)
    
    max_num = 6    # 最大値の 6 に化ける
    print(max_num)
    
    6

  • max() 関数は、どちらが大きいかの比較にもよく使われます。

    a = 3
    b = 5
    max_num = max(a, b)   # 3つ以上の値を比較することもできます
    print(max_num)
    
    5

  • この性質を利用して、最大値を更新する時にも使えます。

    文を使った書き方

    nums = [2, 1, 4, 3, 6, 5]
    max_num = 0
    for i in nums:
        if i > max_num:   # i のほうが 今の最大値より大きかったら
          max_num = i     # max_num を i に更新する
    

    max() のみの書き方

    nums = [2, 1, 4, 3, 6, 5]
    max_num = 0
    for i in nums:
        max_num = max(max_num, i)   # (今の最大値 と i) の大きい方を max_num に代入
    

  • 最大値の初期値しょきちあらかじめ設定しておく値)を「できるだけ小さな数」にする時は、こんな書き方をします。

    max_num = -float('inf')   # -∞ (マイナス無限)にする
    print(max_num)
    
    -inf

  • 初期値を 0 にすると、最大値が 0 より小さな数になる時に正しく最大値が取れません。

    その為に初期値をできるだけ小さな値に設定する必要があるのです。
    それが「マイナス無限 -float('inf')」なのです。

  • これらを整頓すると、こういう書き方になります。

    # やっていることは max(nums) と同じです。
    nums = [2, 1, 4, 3, 6, 5]
    max_num = -float('inf')
    for i in nums:
        max_num = max(max_num, i)
    print(max_num)
    
    6

    この書き方を簡単にすると、以下になるわけです。

    nums = [2, 1, 4, 3, 6, 5]
    print(max(nums))
    
    6

    コピペで構いませんので、いろいろ試してみてください!👍

min()

min(引数{, 引数, ・・・})

  • リストの中の値で、一番小さな数を見つけます。(minimum)

    nums = [2, 1, 4, 3, 6, 5]
    
    min_num = min(nums)
    print(min_num)
    
    min_num = min([2, 1, 4, 3, 6, 5])
    print(min_num)
    
    min_num = 1    # 最小値の 1 に化ける
    print(min_num)
    
    1

  • min() 関数は、どちらが小さいかの比較にもよく使われます。

    a = 3
    b = 5
    min_num = min(a, b)   # 3つ以上でもOK
    print(min_num)
    
    3

  • この性質を利用して、最小値を更新する時にも使えます。

    文を使った書き方

    nums = [2, 1, 4, 3, 6, 5]
    min_num = 99999999    # 十分に大きな数に設定する
    for i in nums:
        if i < min_num:   # i のほうが 今の最小値より小さかったら
          min_num = i     # min_num を i に更新する
    

    min() のみの書き方

    nums = [2, 1, 4, 3, 6, 5]
    min_num = 99999999
    for i in nums:
        min_num = min(min_num, i)   # (今の最小値と i) の小さい方を min_num に代入
    

  • 最小値の初期値しょきちあらかじめ設定しておく値)を「できるだけ大きな数」にする時は、こんな書き方をします。

    min_num = float('inf')   # ∞ (無限)にする
    print(min_num)
    
    inf
  • 初期値を「できるだけ大きな数」というのを簡単に書いたものが
    「無限 float('inf')」です。「できるだけ大きな数・・・いくつにしようかな?」と、
    いちいち考える必要がなくなります。😸

  • これらを整頓すると、こういう書き方になります。

    # やっていることは min(nums) と同じです。
    nums = [2, 1, 4, 3, 6, 5]
    min_num = float('inf')
    for i in nums:
        min_num = min(min_num, i)
    print(min_num)
    
    1

    この書き方を簡単にすると、以下になるわけです。

    nums = [2, 1, 4, 3, 6, 5]
    print(min(nums))
    
    1

    コピペで構いませんので、いろいろ試してみてください!👍

sum()

sum(引数)

  • リスト内の数値を合計します。

    nums = [2, 1, 4, 3, 6, 5]
    
    sum_num = sum(nums)
    print(sum_num)
    
    sum_num = sum([2, 1, 4, 3, 6, 5])
    print(sum_num)
    
    sum_num = 21   # 合計して 21 に化ける
    print(sum_num)
    
    21

  • スライスも使えます。

    nums = [2, 1, 4, 3, 6, 5]
    
    sum_num = sum(nums[2:5])
    print(sum_num)
    
    sum_num = sum([4, 3, 6])
    print(sum_num)
    
    sum_num = 13   # 合計して 13 に化ける
    print(sum_num)
    
    13

    👇このプログラム👇を読むのは、まだむずかしいかもしれません。😓

    何度も実行して、動きを確認してみてください!
enumerate()

enumerate(引数)

  • まずはこのプログラムを見てください。

    lst = ['a', 'b', 'c']
    result = list(zip(range(len(lst)), lst))
    print(result)  # result は「結果」という意味です
    
    [(0, 'a'), (1, 'b'), (2, 'c')]

    ↓ 最初に len(lst)lst の要素数 3 を取得します。
    result = list(zip(range(3), lst))
    
    result = list(zip([0, 1, 2], ['a', 'b', 'c']))
    
    ↓ それぞれの要素をジップしていきます
    result = list((0, 'a'), (1, 'b'), (2, 'c'))
    
    result = [(0, 'a'), (1, 'b'), (2, 'c')]
    
  • enumerate()関数はこれと同じ結果を求める機能です。

  • enumerate() 関数

    enumerate(リスト型変数)
    enumerate(リスト型変数, start=0)

    イニューメレイト」と読むそうです。
    スペルが憶えにくいので、いつも言葉を分割して
    「イーナム イーレイト」と唱えながら打ち込んでいます。😸

  • lst = ['a', 'b', 'c']
    result = list(enumerate(lst))
    print(result)
    
    [(0, 'a'), (1, 'b'), (2, 'c')]

  • この関数はほとんどの場合、文で使われます。

    lst = ['a', 'b', 'c']
    for i, char in enumerate(lst):
        print(i, char)
    
    0 a
    1 b
    2 c

  • この関数を使うと、リストの要素番号と値が同時に得られるので添字を書かなくてよくなり、リストの値にも名前が付けられて読みやすくなります。

    range() 関数で書いた場合

    lst = ['a', 'b', 'c']
    for i in range(len(lst)):
        print(i, lst[i])
    
    0 a
    1 b
    2 c

  • start= を使うと 0 以外からスタートすることができます。

    lst = ['a', 'b', 'c']
    for i, char in enumerate(lst, start=1):
        print(i, char)
    
    1 a
    2 b
    3 c

  • 文にrange()を使って lst[i] みたいな書き方をしていたら enumerate() を思い出してください。😸

Chatpter.4 - in

in

  • リストの中身に特定の値が含まれているかを判定する in という機能があります。

  • 含まれていたら True 、含まれていなかったら False に化けます。

    nums = [1, 2, 3, 4, 5, 6]
    

    含まれる時

    if 3 in nums:   
    
    if True:    # 3 が見つかったので True に化けた
    

    含まれない時

    if 9 in nums:
    
    if False:    # 9 が見つからなかったので False に化けた
    
  • orand を使えば、欲張っていくつもの数をいっぺんに探せます。

    or

    if 3 or 9 in nums:    # 3 か 9 のどちらかある?
    
    if True:     # 9 は無いけど 3 は見つかったので True に化けた
    

    and

    if 3 and 9 in nums:   # 3 と 9 の両方ある?
    
    if False:    # 3 はあったけど 9 はなかったよ
    
  • 文字列も探せます。

    words = ['魔法', 'の', '天使']
    
    if '天使' in words:
    
    if True:
    
  • 基本は変数を使って探します。

    race = '妖精'
    if race in words:
    
    race = '妖精'
    if False:
    
  • 基本、値は変数に入れてから使います。

  • その値がどんな値なのか、変数名を見ればわかるようにするためです。

  • 今はまだ構いませんけど、慣れてきたらいったん変数にしてから使うようにしてみましょう!

not in

  • in とは反対に、not in は「〇〇が含まれていない時」を調べるのに使います。

    if '天使' not in words:
    

    と書きます。

Chatpter.5 - 使いそうで使わないちょっと使うテクニック

使いそうで使わないちょっと使うテクニック

リストとリストを繋げる

リストとリストを繋げる

  • リスト型同士であれば、+ を使ってリストとリストを繋げることが出来ます。

    nums = [0] + [1, 2, 3] + [4]
    print(nums)
    
    [0, 1, 2, 3, 4]

  • 文字列だったり、いろんな型が混在してたりしていても問題ありません。

    titles = ['まじ'] + ['キャン', '△'] + ['SEASON', 'OFF']
    print(titles)
    
    ['まじ', 'キャン', '△', 'SEASON', 'OFF']

    profiles = ['月野', 'うさぎ'] + [14, '才'] + ['中二']
    print(profiles)
    
    ['月野', 'うさぎ', 14, '才', '中二']

  • list() も大丈夫です。

    words = '友人帳'
    titles = ['猫目'] + list(words)
    print(titles)
    
    words = '友人帳'
    titles = ['猫目'] + list('友人帳')
    print(titles)
    
    words = '友人帳'
    titles = ['猫目'] + ['友', '人', '帳']
    print(titles)
    
    ['猫目', '友', '人', '帳']


    words1 = '猫目'
    words2 = '友人帳'
    titles = list(words1) + list(words2)
    print(titles)
    
    words1 = '猫目'
    words2 = '友人帳'
    titles = list('猫目') + list('友人帳')
    print(titles)
    
    words1 = '猫目'
    words2 = '友人帳'
    titles = ['猫', '目'] + ['友', '人', '帳']
    print(titles)
    
    ['猫', '目', '友', '人', '帳']

    コピペして、いろいろ書き換えてみてください!👍

リストの順番を入れ替える

リストの順番を入れ替える

  • 要素の値を交換する場合。

    nums = [0, 1, 2, 3, 4, 5]
    nums[1], nums[4] = nums[4], nums[1]
    print(nums)
    
    [0, 4, 2, 3, 1, 5]← 要素1 と 要素4 の値が入れ替わる

    この方法を 『値交換』または『スワップ(swap)』と言います。


  • リストの範囲を入れ替える場合。

    nums = [0, 1, 2, 3, 4, 5]
    nums[:2], nums[3:5] = nums[3:5], nums[:2]
    print(nums)
    
    [3, 4, 2, 0, 1, 5]

    必ず同じ要素数の範囲同士でなければいけません。


  • ずれるとこうなります。

    nums = [0, 1, 2, 3, 4, 5]
    nums[:2], nums[3:6] = nums[3:5], nums[:2]
    print(nums)
    
    [3, 4, 2, 0, 1]

    [3:6] だと 要素3~5 の範囲になり、[3, 4, 5] の所が [0, 1] に書き換わって値(要素)が1つ減ってしまいます。

  • データの一部が失われてしまう(または消えるべきデータが残ってしまう)という危険がありますので、要素の操作は慎重に。💥💻🙀

    コピペして、恐れずにいろいろ書き換えてみてください!👍

その他の添字の書き方

添字の書き方

  • これまで添字は変数の右隣に書いてきました。(基本)

    nums = [0, 1, 2, 3, 4, 5]
    num = nums[0]
    print(num)
    
    0

  • リストの要素の文字列の一部を参照する時はこんな書き方をします。

    words = ['絶対', '運命', '黙示録']
    letter = words[0][0]
    print(letter)
    
    letter = words[2][1]
    print(letter)
    


    変数[リストの要素番号][左から何文字目] 』 という順番です。
    どちらも 0から始まります。


  • しかし変数じゃなくてもわりとイケるクチなんです。

    print(['絶対', '運命', '黙示録'][0])
    
    絶対

    というように、変数ではなく、リストに直接添字が書けます。


  • さらにリスト型であれば、どんな形でもイケるクチ。

    nums = list(range(5))[2]
    print(num)
    
    nums = [0, 1, 2, 3, 4][2]
    print(num)
    
    2

  • こういうのは時々使うことがあります。

    nums = [4, 1, 5, 3, 2]
    num = sorted(nums, reverse=True)[1]
    print(num)
    
    nums = [4, 1, 5, 3, 2]
    num = sorted([4, 1, 5, 3, 2], reverse=True)[1]
    print(num)
    
    nums = [4, 1, 5, 3, 2]
    num = [5, 4, 3, 2, 1][1]  # 降順で2番目の数
    print(num)
    
    nums = [4, 1, 5, 3, 2]
    num = 4
    print(num)
    
    4

  • 推奨されませんが、こんなやり方も出来てしまいます。

    n = 10
    
    print(['奇数', '偶数'][n % 2 == 0])
    
    print(['奇数', '偶数'][True])  # 10 は 偶数
    
    ↓ 添字は int でなければならないので、
    print(['奇数', '偶数'][1])  # 自動で 1 に変化
    
    print('偶数')
    
    偶数

    なぜ推奨されないかというと、

  • 条件文はなるべく if文で書くべき。

  • Python的にはこういう理念があるからだそうです。


  • このほうがわかりやすいということです。

    n = 10
    if n % 2 == 0:
        print('偶数')
    else:
        print('奇数')
    
    偶数

    「んなもん、慣れだよ慣れ!(´∀`#)」
    と思わずに、世界共通の考えなのでここは素直に従っておきましょう。

  • まだやってませんが、「内包表記ないほうひょうき」という書き方で書くと、こんな感じになります。

    n = 10
    print('偶数' if n % 2 == 0 else '奇数')
    
    偶数

  • この書き方は「Pythonらしい」とされて一般的に好まれる書き方です。

  • これは「三項演算子さんこうえんざんし」または「条件演算子」などと言われています。

  • 書き方にコツがいりますし、推奨まではされてませんので無理して内包表記にする必要はありません。

  • けど、これが書けるようになると なんかいい感じ💖 になります。

  • ここでの内包表記の学習はまだ先になりますが、知識欲旺盛で「興味が先走って止まらない!」という方はこの先の 内包表記 を先に覗いてみてください。