言語バージョン 3.9.0

公開日 2020年11月20日 JST

更新日 2021年1月14日 JST

コード例の出力としてprint関数を使用しています。

使用方法がわからない場合は以下のページを参照してからコード例を確認してください。

print関数の使用方法

append(リスト、配列)

このページでは豊富な例を用いてPythonの listクラス のappendの使い方を学ぶことができます。

listクラス のメソッドの1つとしてappendがあります。list型のオブジェクトに対して、値を追加することが出来ます。
追加位置は対象のlistの最後尾になり、1度に追加できる値は1つになります。
異なるlistを拡張したい場合はappendでは実現不可であり、extend+などを使用する必要があります。

TL;DR

基本

# appendで指定した要素は最後尾に追加される
list1 = ['Golang', 'JavaScript', 'HTML']
list1.append('Python')
print(list1)
==> ['Golang', 'JavaScript', 'HTML', 'Python']




# 異なる型もlistには追加することが可能
list2 = [1, 2, 3, 4, 5]
list2.append('Python')
list2.append(True)
print(list2)
==> [1, 2, 3, 4, 5, 'Python', True]




# appendの引数にlistを指定するとlist自体がlistの要素になる
list3 = [True, False]
list4 = ['list', 'tuple', 'dict']
list3.append(list4)
print(list3)
==> [True, False, ['list', 'tuple', 'dict']]




# 空のlistにdict型の要素を追加する
list5 = []
dict1 = {'p': 'Programming'}
list5.append(dict1)
print(list5)
==> [{'p': 'Programming'}]




class Person:
    def __init__(self, identifier, name):
        self.identifier = identifier
        self.name = name

# Person型の要素をforを使用して追加する
list6 = []
for i in range(3):
    person = Person(i, 'person' + str(i))
    list6.append(person)
for person in list6:
    print(vars(person))
==> {'identifier': 0, 'name': 'person0'}
==> {'identifier': 1, 'name': 'person1'}
==> {'identifier': 2, 'name': 'person2'}




# スライス操作(slicing operations)での追加も可能
list7 = [1, 2, 3, 4, 5]
list7[len(list7):] = ['new string']
print(list7)
==> [1, 2, 3, 4, 5, 'new string']




# forを使用してlistの中のlistに値を追加する
list8 = [[], [], []]
for i in range(3):
    list8[i].append(i)
print(list8)
==> [[0], [1], [2]]

関連情報:forの使用方法

関連情報:class(クラス定義)の使用方法

関連情報:rangeの使用方法

任意の位置に要素を追加したい場合(insert)

# インデックスが0の位置に要素を追加する
list1 = [0, 1, 2]
list1.insert(0, 999)
print(list1)
==> [999, 0, 1, 2]




# インデックスが2の位置に要素を追加する
list2 = ['programming', 'coding', 'hacking']
list2.insert(2, 'HACKER')
print(list2)
==> ['programming', 'coding', 'HACKER', 'hacking']

関連情報:insertメソッド(listクラス)の使用方法

listを拡張したい場合(extend, +)

# appendではlistが展開されずに要素に追加される
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8]
list1.append(list2)
print(list2)
==> [1, 2, 3, 4, 5, [6, 7, 8]]



# extendを使用して2つのlistを結合する
list3 = [1, 2, 3, 4, 5]
list4 = [6, 7, 8]
list3.extend(list4)
print(list3)
==> [1, 2, 3, 4, 5, 6, 7, 8]



# +を用いても同様の結果を得ることができる
list5 = ['Python', 'Kotlin']
list6 = [False, 555]
# list5 = list5 + list6と同義
list5 += list6
print(list5)
==> ['Python', 'Kotlin', False, 555]



# スライス操作(slicing operations)での追加も可能
list7 = [1, 2, 3, 4, 5]
list7[len(list7):] = [6, 7, 8, 9, 10]
print(list7)
==> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

関連情報:extendメソッド(listクラス)の使用方法

解説

基本

listクラスのメソッドであるappendを使用すると、使用したlist型のオブジェクトの末尾に引数で与えた値を追加することができます。
listには型の制限はないので、どんな型のオブジェクトでもappendの引数として指定することが可能です。

また、appendの引数に別のlist型オブジェクトを指定すると、最後尾に引数で指定した値がそのまま挿入されます。
list同士を結合させたい場合には後述するextend+を使用する必要があるので注意してください。

list1 = ['Programming', 'Coding']
list1.append('Hacking')
print(list1)
==> ['Programming', 'Coding', 'Hacking']



list2 = [True, True]
list2.append(100)
print(list2)
==> [True, True, 100]



list3 = ['January', 'February']
list4 = ['March', 'April', 'May']
list3.append(list4)
print(list3)
==> ['January', 'February', ['March', 'April', 'May']]

任意の位置に要素を追加したい場合(insert)

appendを使用したlistへの要素の追加は、常に最後尾へと追加されます。

任意のインデックスの位置に要素を追加したい場合の方法の1つとして、listクラスのメソッドであるinsertが挙げられます。
insertの第1引数に挿入したいインデックス、第2引数に挿入したい要素を指定します。

関連情報:insertメソッド(listクラス)の使用方法

list1 = ['str', 'int', 'dict', 'tuple']
list1.insert(2, 'list')
print(list1)
==> ['str', 'int', 'list', 'dict', 'tuple']

listを拡張したい場合(extend, +)

異なるlistの要素を展開して追加したい場合があります。
このページでは、listクラスのメソッドであるextend+を例として挙げます。

extendを用いる場合には、引数に展開して追加したいlistを指定してください。
より正確には、extendは引数に反復可能(iterable)なオブジェクトを取ることができるので、 tuple型やdict型などのオブジェクトを指定することも可能です。
詳しい挙動や例は以下のリンクを参考にしてください。

また、同様の結果を得るために+も使用することができます。以下に挙げる例で挙動を確認してください。

関連情報:extendメソッド(listクラス)の使用方法

list0 = [1, 2]
list0.append(['1', '2'])
print(list0)
==> [1, 2, ['1', '2']]



list1 = [0, 0, 0]
list2 = [100, 200, 300]
list1.extend(list2)
print(list1)
==> [0, 0, 0, 100, 200, 300]



list3 = ['apple', 'banana', 'kiwi']
list4 = [{'key': 'value'}]
list3 += list4
print(list3)
==> ['apple', 'banana', 'kiwi', 'APPLE', 'BANANA', 'KIWI']

1次情報

リスト型についてもう少し - Pythonドキュメント

シーケンス型 — list, tuple, range - Pythonドキュメント