【Python】タプルに要素を追加する

今回の記事ではタプルに要素を追加する方法を解説していきます。タプルは本来要素の追加や変更、削除を行うことができません。タプルの中身を変更したい時の基本方針はタプルを一度リストに変更して要素の追加・変更を行いもう一度タプルに戻すといったやり方です。

別のタプルを用意してくっつける

+演算子を使ってくっつけることでタプルに要素を追加することができます。

spaghetti = ('たらこ', 'カルボナーラ', 'ミート')

# appendのようなメソッドは定義されていない
# しかし+演算子を使うことで複数のタプルを連結することができる。
spaghetti2 = ('イカ墨', 'バジル')
spaghetti = spaghetti + spaghetti2
print(spaghetti)

実行結果

('たらこ', 'カルボナーラ', 'ミート', 'イカ墨', 'バジル')

一つだけ要素を追加したい場合でもシンプルに追加することはできず、要素一つのタプルを用意して追加する必要がある。

# 一つだけ要素を追加したい場合は一つの要素を持つタプルとして連結する
print(spaghetti + ('エビ',))

実行結果

('たらこ', 'カルボナーラ', 'ミート', 'イカ墨', 'バジル', 'エビ')

先頭や末尾以外に要素を追加したい時

タプルの先頭や末尾に追加する場合には+演算子を使うことで解決できましたが、タプルの途中に追加したい場合には一度リストに変更して追加したのち、もう一度タプルに戻す必要があります。

# 先頭や末尾以外に要素を追加したい場合は一度リストに変換して行う
spaghetti_list = list(spaghetti)
spaghetti_list.insert(3, 'エビ')
# 追加が終わったリストを再びタプルに戻す
spaghetti = tuple(spaghetti_list)
print(spaghetti)

実行結果

('たらこ', 'カルボナーラ', 'ミート', 'エビ', 'イカ墨', 'バジル')

要素の変更を行う場合

要素の変更を行いたい場合でもタプルを一度リストに変更します。

# 要素を変更する場合でも一度リストに変換してから行う
spaghetti_list = list(spaghetti)
spaghetti_list[0] = '明太子'
spaghetti = tuple(spaghetti_list)
print(spaghetti)

実行結果

('明太子', 'カルボナーラ', 'ミート', 'エビ', 'イカ墨', 'バジル')

 

削除を行う

削除を行う場合も同じくリストに変更します。

spaghetti = ('たらこ', 'カルボナーラ', 'ミート', 'イカ墨', 'バジル')
print(spaghetti)
spaghetti_list = list(spaghetti)
spaghetti_list.remove('カルボナーラ')
spaghetti = tuple(spaghetti_list)
print(spaghetti)

実行結果

('たらこ', 'カルボナーラ', 'ミート', 'イカ墨', 'バジル')
('たらこ', 'ミート', 'イカ墨', 'バジル')

また削除はスライスを使ってあたかも削除したかのように振舞わせることもできます。今回の例ではスライスによって1~3番目の要素が新しいタプルに追加されて最初と最後が削除されたかのようなタプルになります。

spaghetti = ('たらこ', 'カルボナーラ', 'ミート', 'イカ墨', 'バジル')
print(spaghetti)
spaghetti = spaghetti[1:4]
print(spaghetti)

実行結果

('たらこ', 'カルボナーラ', 'ミート', 'イカ墨', 'バジル')
('カルボナーラ', 'ミート', 'イカ墨')

私はプログラミング学習はUdemyで行うのが以下のような理由で圧倒的におすすめです。

  • 動画で好きなときに学べる
  • 一流のエンジニアから教えてもらえる
  • 好きな技術を体系的に学べる
  • 実際に手を動かしながら学ぶことができる
  • セール時であれば1500円〜2000円ほどで購入できる(大半の技術書より安い)
  • 講座自体がアップデートされていくので情報が古くなりにくい

UdemyにはPythonの基礎が学べる講座もあるので興味がある方は一度チェックしてみてください!こちらは現役のシリコンバレーエンジニアが基礎から応用まで教えてくれる本当におすすめの講座ですので、是非こちらの講座で勉強してみてください!ちなみに私はこちらの講座でオブジェクト指向を完全に理解し、衝撃が走りました。おかげでプログラミングが大好きになった講座です!なおUdemyは頻繁にセールをやっているので、セール時を狙って購入してください!

おすすめのpython入門書

タイトルとURLをコピーしました