追加
リストにデータを追加します.データ型はなんでもいいのが便利だ.
末尾にデータを追加する
末尾に要素を追加する場合はappend関数
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5]
list_sample.append('a')
print(list_sample)
>>[2, 9, 3, 7, 4, 1, 0, 6, 8, 5, 'a']
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5]
list_sample.append([2, 3, 4])
print(list_sample)
>>[2, 9, 3, 7, 4, 1, 0, 6, 8, 5, [2, 3, 4]]
指定した場所にデータを追加する
末尾に要素を追加する場合はinsert関数.insert(i, x)だと,インデックスiを持つ要素の直前にデータxを挿入します.
ただ,insertだとappendより計算量が多い
ただ,insertだとappendより計算量が多い
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] list_sample.insert(3, 'a') print(list_sample) >>[2, 9, 3, 'a', 7, 4, 1, 0, 6, 8, 5]
削除
末尾の要素を削除
pop関数でインデックスを指定しない場合は末尾の要素が削除される.削除されたデータを返り値として返します.
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] tmp = list_sample.pop() print(list_sample) >>[2, 9, 3, 7, 4, 1, 0, 6, 8] print(tmp) >>5
指定した場所の要素を削除
del関数を使用して削除
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] del list_sample[3] print(list_sample) >>[2, 9, 3, 4, 1, 0, 6, 8, 5]
pop関数を使用した別実装
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] list_sample.pop(3) print(list_sample) >>[2, 9, 3, 4, 1, 0, 6, 8, 5]
指定した範囲の複数データを削除する
スライスを使用すれば指定された範囲のデータを削除できます.
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] del list_sample[2:5] print(list_sample) >>[2, 9, 1, 0, 6, 8, 5]
指定したデータと一致する要素を削除する
remove関数は指定したデータと一致する最初の要素を削除します.一致するデータがない場合はエラーを吐きます.
list_sample = [4,3,8,5,3,6,1,3,3,9,8,3,6,3] list_sample.remove(3) print(list_sample) >>[4, 8, 5, 3, 6, 1, 3, 3, 9, 8, 3, 6, 3] list_sample.remove(99) >>list.remove(x): x not in list
指定したデータと一致する全ての要素を削除する場合.
list_sample = [4,3,8,5,3,6,1,3,3,9,8,3,6,3] tmp = [buf for buf in list_sample if buf != 3] print(tmp) >>[4, 8, 5, 6, 1, 9, 8, 6]
全てのデータを削除する
clearを使用することで全てのデータを削除できます.
list_sample = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] list_sample.clear() print(list_sample) >>[]
結合
2つのリストを結合する
リストを結合する場合はextend関数
list_sample_A = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] list_sample_B = ['a', 'b', 'c'] list_sample_A.extend(list_sample_B) print(list_sample_A) >>[2, 9, 3, 7, 4, 1, 0, 6, 8, 5, 'a', 'b', 'c']
+演算子を使った別実装
list_sample_A = [2, 9, 3, 7, 4, 1, 0, 6, 8, 5] list_sample_B = ['a', 'b', 'c'] list_sample_C = list_sample_A + list_sample_B print(list_sample_C) >>[2, 9, 3, 7, 4, 1, 0, 6, 8, 5, 'a', 'b', 'c']
応用編
上手く組み合わせれば1,1,2,1,2,3,1,2,3,4,1,2 ...みたいなリストも生成できる
list_sample = []
for i in range(1, 8):
list_sample += range(1, i+1)
print(list_sample)
>>[1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7]
0 件のコメント:
コメントを投稿