#はじめに
リストを扱う上で重要な追加と削除の方法をまとめました。
基本的に以下のようなコードでコードと出力結果を記載します。
code = 'コード'
print(code)
# code(出力結果)
#リスト(配列)に要素を追加するappend, extend, insert
Pythonでlist型のリスト(配列)に要素を追加したり別のリストを結合したりするには、リストのメソッドappend()
, extend()
, insert()
を使う。そのほか、+演算子やスライスで位置を指定して代入する方法もある。
・末尾に要素を追加: append()
・末尾に別のリストやタプルを結合(連結): extend(), +演算子
・指定位置に要素を追加(挿入): insert()
・指定位置に別のリストやタプルを追加(挿入): スライスを使う
###・append()・・・末尾(最後)に要素を追加できる。
l = [0, 1, 2]
print(l)
# [0, 1, 2]
l.append(100)
print(l)
# [0, 1, 2, 100]
l.append('new')
print(l)
# [0, 1, 2, 100, 'new']
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
###・extend()・・・末尾(最後)に別のリストやタプルを結合できる。
l = [0, 1, 2]
l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]
l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]
#append()と違って一文字ずつ格納される
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
#extend()メソッドではなく+=でも可。
l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]
###・insert()・・・指定した位置に要素を追加(挿入)できる。第一引数に位置、第二引数に挿入する要素を指定する。先頭(最初)は0。負の値の場合、-1が末尾(最後)の一つ前となる。
l = [0, 1, 2]
l.insert(0, 100)
print(l)
# [100, 0, 1, 2]
l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
###・スライスで範囲を指定して別のリストやタプルを代入すると、すべての要素が追加(挿入)される。
l = [0, 1, 2]
l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
#リスト(配列)の要素を削除するclear, pop, remove, del
Pythonでlist型のリスト(配列)の要素を削除するには、リストのメソッドclaer()
, pop()
, remove()
を使う。そのほか、インデックスやスライスで位置・範囲を指定してdel
文で削除する方法もある。
・すべての要素を削除: clear()
・指定した位置の要素を削除し、値を取得: pop()
・指定した値と同じ要素を検索し、最初の要素を削除: remove()
・インデックス・スライスで位置・範囲を指定して削除: del
###・clear()・・・全ての要素を削除する
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l.clear()
print(l)
# []
###・pop()・・・リストのメソッドpop()で、指定した位置の要素を削除し、その要素の値を取得できる。
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(3))
# 4
print(l.pop(-2))
# 8
#引数を省略して位置を指定しない場合は、末尾(最後)の要素を削除する
print(l.pop())
# 9
###・remove()・・・リストのメソッドremove()で、指定した値と同じ要素を検索し、最初の要素を削除できる。
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
###・del・・・削除したい要素をインデックスで指定する。先頭(最初)は0で、末尾(最後)は-1。
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]
del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]
#スライスで範囲を指定すると、複数の要素を一括で削除できる
del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]
#最後に
他にも何か方法が解法があれば教えてもらえると嬉しいです。