この記事では、listに何かを追加する方法を説明します。
append
appendはlistの末尾に要素を追加します。
listオブジェクトにappendで、そのlistオブジェクトそのものに追加されます。
元のlistオブジェクトを変更したくない場合は、+演算子で同じことができます。
l = [1, 2, 3] rt = l.append(4) print(l) print(rt) # [1, 2, 3, 4] # None # 戻り値は無い。 l = [1, 2, 3] l_n = l + [4] print(l) print(l_n) # [1, 2, 3] # [1, 2, 3, 4] # +演算子を使えば、新たなlistオブジェクトを作れる。 l = [1, 2, 3] l[len(l):] = [4] print(l) # [1, 2, 3, 4] # スライスでも同じことが可能。
listをappendすると、こうなります。
l = [1, 2, 3] l.append([4]) print(l) # [1, 2, 3, [4]] # listをappendするとこうなる。
extend
extendはlistを拡張します。
listオブジェクトにextendで、そのlistオブジェクトそのものが拡張されます。
元のlistオブジェクトを変更したくない場合は、+演算子で同じことができます。
l = [1, 2, 3] l_a = [4, 5] rt = l.extend(l_a) print(l) print(rt) # [1, 2, 3, 4, 5] # None # 戻り値は無い。 l = [1, 2, 3] l_n = l + [4, 5] print(l) print(l_n) # +演算子を使えば、新たなlistオブジェクトを作れる。 # [1, 2, 3] # [1, 2, 3, 4, 5] # l = [1, 2, 3] l_a = [4, 5] l[len(l):] = l_a print(l) # [1, 2, 3, 4, 5] # スライスでも同じことが可能。
insert
insert(i, x)は、指定した位置に要素を挿入します。
第 1 引数iは、リストのインデックスです。
l = [1, 2, 3] l.insert(0, 10) print(l) # [10, 1, 2, 3] # 先頭に挿入する場合は、i=0を指定する。 l = [1, 2, 3] l.insert(1, 10) print(l) # [1, 10, 2, 3] l = [1, 2, 3] l.insert(len(l), 10) print(l) # [1, 2, 3, 10] # 末尾に挿入する場合は、i=リストの要素数を指定する。 l = [1, 2, 3] l.insert(-1, 10) print(l) # [1, 2, 10, 3] # 挿入する位置はマイナスも設定可能。 l = [1, 2, 3] l.insert(-2, 10) print(l) # [1, 10, 2, 3]
listをinsertすると、そのままリストが挿入されます。
リストをネストしたいこともあるので、その場合に使えます。
l = [1, 2, 3] l.insert(1, [10, 20]) print(l) # [1, [10, 20], 2, 3] print(json.dumps(l, indent=4)) # [ # 1, # [ # 10, # 20 # ], # 2, # 3 # ]
最後に補足で、listオブジェクトの関数のサイトを載せておきます。