• リスト(list)

    リストについて学んでいきましょう。

    リストは、複数のデータを整理して扱いたい時に使われます。

    リストの作り方

    リストは、データを大かっこ[](英語ではsquare bracketと言います)で囲むことで作ることができます。

    そして、大かっこの中にコンマ区切りでデータを入れていくことができます。

    大かっこ中に入れることができるデータには、整数、浮動小数点数文字列などがあります。

    実際にリストを作ってみましょう。

    コード
    

    1 list = [1]

    2 list = [1, 2, 3]

    3 list = [1, 10.15, 'apple']

    一つのリストに、異なるタイプのデータ(整数と浮動小数点数など)を入れることができました。

    また、リストは入れ子にする(リストの中にリストを入れる)こともできます。実際に入れ子のリストを見てみましょう。

    コード
    

    list = [1, [2], ['orange'], [1, 2, 3]]

    リストからデータを取り出したい場合

    リストは、格納されたデータを柔軟に操作することができます。

    まずは、リストからデータを取り出す方法を見ていきましょう。

    リストからデータを取り出す場合には[]を使います。

    具体的なコードは以下の通りです。

    コード
    

    list = ['apple', 'orange', 'grape', 'kiwi']

    print(list[0])

    アウトプット
    

    apple

    list[0]という形で、番号を使ってリストの中のデータを取り出すことができました。

    あまり使いませんが、リストから直接要素を取り出すこともできます。

    コード
    

    print(['apple', 'orange', 'grape', 'kiwi'][0])

    アウトプット
    

    apple

    直接リストから要素を取り出すことができました。

    なお、リストからデータを取り出す場合は、先頭のデータは[0]で取り出すということに注意しましょう。

    リストの数よりも大きい数はエラーになる

    また、リストに入っているデータ以上の数字を取り出そうとすると、エラーになります。

    コード
    

    print(list[100])

    アウトプット
    

    IndexError: list index out of range

    index(番号)がリストの範囲外ですよ。というエラーが表示されてしまいました。

    インデックスの指定は整数

    また、インデックスの指定は必ず整数でなければいけません。

    コード
    

    print(list[1.1])

    アウトプット
    

    TypeError: list indices must be integers or slices, not float

    インデックスの指定は、整数又はスライスでなければならず、浮動小数点数ではいけません。というエラーが出てしまいました。

    スライスについては後ほど説明します。

    入れ子になっているリストで、データを指定する方法

    次に、入れ子になっているリストでデータを指定する方法について見ていきましょう。

    入れ子になっているリストでデータを指定するためには、[]を2回使います。これも具体例を見た方がイメージが湧きやすいと思いますので、具体例でみていきましょう。

    コード
    

    1 list = [1, 2, 3, [10, 11, 12]]

    2 print(list[3][0])

    アウトプット
    

    10

    上記のリストには、1、2、3、[10, 11, 12]という4つのデータが入っていると考えます。

    ここではlist[3]とまず指定していますので、[10, 11, 12]というデータを指定していることになります。

    そして、list[3][0]と、[0]で[10, 11, 12]というデータの中の一番目のデータを取り出すという指示をしていますので、結果10が取り出されたのです。

    インデックスにはマイナスを使うこともできる

    また、リストからデータを取り出す時は、マイナスの数字を使うこともできます。

    実際に使ってデータを取り出してみましょう。

    コード
    

    1 list = ['apple', 'orange', 'grape', 'kiwi']

    2 print(list[-1])

    アウトプット
    

    kiwi

     [-1]と指定することで、最後の要素を取り出すことができました。

    ちなみに、正の整数を使った場合は最初の要素は0でしたが、負の整数を使った場合は最後の要素は-1でした。

    これは、このようなイメージで考えると分かりやすいと思います。

    スライスのイメージ(プラスとマイナス)

    リストのスライス

    次に、リストのスライスについてみていきましょう。

    リストのスライスとは、その名のイメージの通り、リストの中のデータを切り取る(スライスする)ことです。

    具体例で見ていきましょう。

    コード
    

    1 list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    2 print(list[5:])

    アウトプット
    

     [5, 6, 7, 8, 9, 10]

    このコードで何が行われているのか、見ていきましょう。

    まず、スライスを使うには、:を使います。

    「数字:」でその数字以降、「:数字」でその数字より前を指定するというイメージです。

    上記の例では、5:というコードでした。つまり、5番目より先(5以降)を切り取ると指示しているのです。

    なお、インデックスは0から始まりますので、5番目のデータは4です。なので、6番目のデータである5から数字が表示されました。

    以下の図で考えると分かりやすいと思います。

    スライスの具体例

    2つの数字を使うこともできる

    スライスでは、2つの数字をつかって切り取るデータを指定することもできます。

    具体例で見ていきましょう。

    コード
    

    1 list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    2 print(list[2:5])

    アウトプット
    

     [2, 3, 4]

    今回は、2:5という形で指定をしました。

    これは、2:が2より先、:5が5よりも前を意味しますので、2~4の3つの整数が出力されたのです。

    これもイメージで確認してみましょう。

    リストのイメージ(数字が2つの場合)

    2つの数字をつかったデータのスライスがイメージしやすくなるのではないかと思います。

    リストのまとめ

    (1) 大かっこを使うことでリストを作ることができる

    (2) リストは入れ子(リストの中にリストを作る)こともできる

    リストを学んだ後は

    同じく複数のデータを格納することができるタプルについて学んでいきましょう。