Python:10日目 – [配列] ~ 追加と削除と変更(リストのメソッド一覧)

list 追加

リストの追加メソッドはlist.append()や、+演算子を使う方法があります。

リストのメソッド一覧

メソッド機能
append(item)リストの最後にitemを追加。
extend(iterable)リストの最後に、イテラブルiterableの要素全てを追加。
insert(i, item)iの位置の前に、itemを追加。
remove(item)itemを削除。
pop([i])iの位置の要素を削除して、その要素を返します。iを省略で、末尾の要素を削除。
clear()全ての要素を削除。
index(item[, start[, end]])itemを探し、その位置を返します。見つからなければエラー(ValueError)。探索範囲は、startからendの前まで。返り値は[start, end)の範囲。省略すると全体を探す。
count(item)itemの出現回数を返します。
sort(key=None, reverse=False)リストをソート。keyで比較の関数を指定。reverse=Trueで大きい順に。
reverse()インプレース演算で逆順。
copy()コピーを作成。

list.append()を使う

前回も使った月曜日から始まる一週間に追加していってみましょう。

まずは前回のおさらい。

追加前のリスト

week = ['月', '火', '水', '木', '金']

ここにappendで追加するとこのようになります。

# 前回も使った曜日のリスト
week = ['月', '火', '水', '木', '金']

# 土曜日と日曜日を追加する
week.append('土')
week.append('日')
# 表示
print(week)

insertを使って途中に追加する方法

insert(位置, 追加要素)を記述すれば途中に要素を追加することができます。

まずは、あえて途中の水曜日を抜いたリストを作りましょう。

week = ['月', '火', '木', '金']

ここに水曜日を追加するために、追加位置と追加する要素を記述します。

week = ['月', '火', '木', '金']

# 要素の番号は先頭が0なのを忘れずに!
week.insert(2, '水')
# ちなみにもう一つ練習で追加
week.insert(4, '木曜日の夜')
# 表示
print(week)

ついでに練習でもう一個追加してます。

実行結果はこのようにしっかりとリストに追加されていますね。

演算子を使ってリストを結合

演算子を使って追加することもできます。

week = ['月', '火', '水', '木', '金']

こちらに別のリストを追加してみましょう。

week = ['月', '火', '水', '木', '金']

# リストを結合させる
week = ['土', '日'] + week
# 表示
print(week)

するとこのように最初のリストの先頭に、追記のリストが結合されました。

ちなみに次の削除の項目で割り当て番号の練習のため先頭に追加していますが、末尾に追加する場合は当然リスト名に+で追加することができます。

week = ['月', '火', '水', '木', '金']

# リストを結合させる
week =  week + ['土', '日'] 
# 表示
print(week)

便利に使えるシーンは多々ありそうですね。

リストから削除

.pop()

リスト名.pop()を使うと、リストの末尾の要素を削除することができます。

week = ['月', '火', '水', '木', '金']

こちらから金曜日を削除しましょう。

week = ['月', '火', '水', '木', '金']

# 末尾を削除
week.pop()
# 表示
print(week)

ばっちりですね!

もちろん指定して削除も可能です!

.pop()の()内に割り当て番号を入れましょう。

先頭は0ですので、火曜日を消したい場合は(1)になりますね。

week = ['月', '火', '水', '木', '金']

# 末尾を削除
week.pop(1)
# 表示
print(week)

これで火曜日が消えました。

一応簡単な応用ということで、上の演算子によって結合したリストからpopを使って削除してみましょう。

week = ['月', '火', '水', '木', '金']

# リストを結合させる
week = ['土', '日'] + week

# 上でリストを結合させているので、先頭の0は'土'になる。
# そのため火曜日を削除する場合は3になります。
week.pop(3)
# 表示
print(week)

順次進行なのでしっかり順番に処理されていますね。

del文で削除する

del文でも削除することができます。

こちらの方がdelという文字があるだけに分かりやすいケースもあるかもしれませんね。

week = ['月', '火', '水', '木', '金']

# リストを結合させる
week = ['土', '日'] + week

# 上でリストを結合させているので、先頭の0は'土'になる。
# そのため火曜日を削除する場合は3になります。
del week[3]
# 表示
print(week)

リストを変更

こちらを使ってリスト内の要素を変更することができます。

混乱を避けるためにも先ほど使用したweekを使いましょう。

week = ['月', '火', '水', '木', '金']

ここから水曜日の要素を「お休み」に換えてみます。

week = ['月', '火', '水', '木', '金']

week[2] = 'お休み'
# 表示
print(week)

Kotaro
Kotaro
フォトグラファー, サウンドデザイナー, 投機家。
ドイツで制作したピアノアルバムをリリース後「金田式電流伝送DC録音」専門スタジオにアシスタントとして弟子入りし裏方へ。
現在は独立しKotaro Studioで「誰かのためにただここに在る」をテーマにアルゼンチンタンゴとアメリカの古典音楽の歴史を研究しながらコンテンツを制作中。
小学3年生の頃、読書感想文の賞金である図書券で2冊の投資関連の本を購入したのをきっかけに投資に興味を持つ。
当サイトでは金融の歴史も含め関連するデータやスキルもアーカイブしていきます。
左脳を使うのに疲れたらKotaro Studioの音楽コンテンツも是非ご覧ください。