1. リストの作成
  2. サイズ取得(組み込み関数len)
    • 結合(マージ)
      • 追加
      • 削除
      • 要素の合計(組み込み関数sum)
        • 指定要素

        Pythonのリスト(配列)について

        リストの作成

        空リストの作成は"[]"になります。

        a = []

        初期要素があるリストは、初期要素をカンマ区切りで"[" と"]"で囲んで作成します。 例えば、整数1、7、4、2の4個のリストは以下のようになります。

        a = [1, 7, 4, 2]

        文字列と整数の、"first", "second", 333 のリストを定義する場合も同じようにできます。

        a = ['first', 'second', 333]

        • range

        • 整数の1から10までが入ったような単調増加の数列が入ったリストは、rangeで作成できます。

          変数 = range(start, stop, step)
          リストの要素の最大値はstop未満になり、作成される要素の個数がNとすると以下のようになります。
          stop > 最大値 = start + step x (N - 1)

          0から9までの整数が入ったリストをrangeで作成する場合、以下のようになります。 増加数が1の場合は、省略できます。

          a = range(0, 10, 1)
          b = range(0, 10)

          [5, 10, 15]のリストをrangeで作成する場合、以下のようになります。

          a = range(5, 20, 5)    #>= [5, 10, 15]
          stopは、リストの最大値15にstepを追加した20(stepの倍数)が一般的に指定されます。

          参考 stopに16以上20以下の整数16、17, 18, 19を指定しても同じ結果になりました。 処理系によらず、以下が正しく動作するかは不明です。

          a = range(5, 16, 5)    #>= [5, 10, 15]

        サイズ取得(組み込み関数len)

        リストのサイズ(要素数)を取得する場合、組み込み関数のlenを使います。

        size = len([8, 1, 7, 8, 8])  #=> 5
        print('size:', size)

          結合(マージ)

          リストとリストを結合(マージ)する場合、+演算子か、extendメソッドを使います。 +演算子だと結合結果を別の変数にすることができ、その場合、結合大正の2つのリストを変更しません。

          a = [1,2,3,4]
          b = [5,6,7,8]
          
          c = a + b   #=> [1,2,3,4,5,6,7,8]

          extendメソッドは、あるリストに他のリストを結合することになります。

          a = [1,2,3,4]
          b = [5,6,7,8]
          
          a.extend(b)   #=> [1,2,3,4,5,6,7,8]
          同じことを+演算子ですると、以下のようになります。
          a = [1,2,3,4]
          b = [5,6,7,8]
          
          a += b   #=> [1,2,3,4,5,6,7,8]

            追加

            • 末尾に追加(append)

            • リストの末尾に要素を追加する場合、appendメソッドを使います。

              a = []
              a.append(追加要素)

              'aaa', 'bbb'のリストを作成して、'ccc'を追加する場合

              words = ['aaa', 'bbb']
              words.append('ccc')    #=> ['aaa', 'bbb', 'ccc']

            • 指定位置に追加(insert)

            • リストの指定位置に要素を追加する場合、insertメソッドを使います。 位置は、0が先頭になり、2個目の位置が1となります。 マイナス値の場合は、末尾からの位置になり、-1が末尾の1個前(末尾から2番目)になります。

              a = []
              a.insert(位置, 追加要素)

              リストの先頭に追加する場合は、位置に0を指定します。

              words = ['aaa', 'bbb']
              words.insert(0, 'ccc')    #=> ['ccc', 'aaa', 'bbb'] 

              リストの先頭から3番目に追加する場合

              words = ['ccc', 'aaa', 'bbb']
              words.insert(2, 'ddd')    #=> ['ccc', 'aaa', 'ddd', 'bbb'] 

              リストの末尾から2個目に追加する場合

              words = ['ccc', 'aaa', 'bbb']
              words.insert(-1, 'ddd')    #=> ['ccc', 'aaa', 'ddd', 'bbb'] 

            削除

            • 指定値を削除(remove)

            • 指定値を削除したい場合、removeメソッドを使います。

              a = []
              a.remove(値)

              a = ['aaa', 'bbb', 'ccc', 'ddd']
              a.remove('bbb')   #=> ['aaa', 'ccc', 'ddd']

              指定した値が複数ある場合は、先頭に近いものから削除されます。

              a = [4, 1, 8, 3, 8, 8]
              a.append('ccc')    #=> [4, 1, 3, 8, 8]

            • 指定位置を削除(pop)

            • リストの指定位置の要素を削除する場合、popメソッドを使います。 位置は、0が先頭になり、2個目の位置が1となります。 マイナス値の場合は、末尾からの位置になり、-1が末尾の1個前(末尾から2番目)になります。

              変数.pop(位置)

              先頭を削除する場合は、位置に0を指定します。

              a = ['aaa', 'bbb', 'ccc', 'ddd']
              b = a.pop(0)
              print('a:', a)
              print('b:', b)
              実行結果は、以下のようになります。
              a: ['bbb', 'ccc', 'ddd']
              b: aaa

              先頭から3番目を削除する場合は、位置に2を指定します。

              a = ['aaa', 'bbb', 'ccc', 'ddd']
              b = a.pop(2)
              print('a:', a)
              print('b:', b)
              実行結果は、以下のようになります。
              a: ['aaa', 'bbb', 'ddd']
              b: ccc

              末尾を削除する場合は、位置に-1を指定します。

              a = ['aaa', 'bbb', 'ccc', 'ddd']
              b = a.pop(-1)
              print('a:', a)
              print('b:', b)
              実行結果は、以下のようになります。
              a: ['aaa', 'bbb', 'ccc']
              b: ddd

              末尾から3番目を削除する場合は、位置に-3を指定します。

              a = ['aaa', 'bbb', 'ccc', 'ddd']
              b = a.pop(-3)
              print('a:', a)
              print('b:', b)
              実行結果は、以下のようになります。
              a: ['aaa', 'ccc', 'ddd']
              b: bbb

            要素の合計(組み込み関数sum)

            リストの各要素を足した合計値を返します

            print(sum([8, 1, 7, 8, 8]))   #=> 32
            print(sum([8, 1, -7, -8, -8]))   #=>  -14
            print(sum([8, 1.2, 7, 8, 6.3]))  #=> 30.5

              指定要素

              • 指定要素の数を取得(count)

              • 指定要素の数を取得する場合、countメソッドを使用します。

                print([8, 1, 7, 8, 8].count(8))  #=> 3  (8は3個存在)
                print([8, 1, 7, 8, 8].count(2))  #=> 0  (2は0個)

              • 指定要素の位置を取得(index)

              • 指定要素がリスト中に存在する場合、その位置(0から始まる整数)を返します。

                print([4, 3, 7, 8, 11, 2].index(4))     #=> 0  (4は0番目にある)
                print([4, 3, 7, 8, 3, 2].index(3, 2))   #=> 4  (2番目の7からリストの最後までを調べると 4番目
                				
                もし、存在しない要素を指定すると、エラーになります。
                print([4, 3, 7, 8, 11, 2].index(20)) 
                Traceback (most recent call last):
                  File "list.py", line 22, in <module>
                    print([4, 3, 7, 8, 11, 2].index(20))
                ValueError: 20 is not in list

              • 指定要素の存在を確認(in)

              • 指定要素が存在するかどうかを調べる場合、in演算子を使用します。 指定要素 in リスト

                c = range(5, 21, 5)         #=> [5, 10, 15, 20]
                print(7 in c)     #=> False
                print(5 in c)     #=> True