【Python】タプルの要素を変更する方法

tuple add eyecatch image

前回の記事でタプルの作り方と使い方を取り上げました。今回は要素の変更、追加と削除について取り上げます。 タプルは一度作成してしまうと要素の変更ができないです。このように変更不可能な事をイミュータブル(immutable、日本語訳:変更不可能な)といい、「タプルはイミュータブルだ」などといいます。ここがリストと大きく異なるところです。(リストはミュータブル(変更可能)で要素の変更、追加などが可能)

目次

タプルの要素の変更

冒頭で述べた通り、タプルはイミュータブルなので変更はできません。リストと同じようにタプルの要素の変更を行おうとすると…

Python
animals = ("monkey","crab","crocodile")
animals[1] = "shrimp"
print(animals)

【エラーメッセージ】
'tuple' object does not support item assignment 

「タプルオブジェクトはアイテムの割り当てをサポートしていません」と怒られてしまいました。出来ない事をしようとしているのですから、当然ですね。

で、「じゃあ出来ませんね。」で終わってしまうと、この記事の存在意義がなくなってしまい、筆を置かなくてはいけませんので、「出来るようにしましょう。」という事で進めたいと思います。

リストを経由してみる

変数のデータ型がタプルのままだと「サポートしてません。」と怒られてしまうので、①タプルの作成⇒②リストに変換⇒③リスト内の要素を変更⇒④変更したリストをタプルに変換という手順でタプルの要素を変更してみたいと思います。

STEP
タプルの作成

変数animalsにタプルを代入します。

Python
animals = ("monkey","crab","crocodile")
STEP
リストに変換

STEP1で作成したタプルをリスト関数を用いてリストに変換します。ここでは、リストになっているか、出力して確認もします。

Python
animals = ("monkey","crab","crocodile")
animals = list(("moneky","crab","crocodile")) 
print(animals)

【実行結果】
['moneky', 'crab', 'crocodile']

※2行目のanimals = list((“moneky”,”crab”,”crocodile”))animals = list(animals)と書いても大丈夫です。

STEP
リスト内の要素を変更

要素crabshrimpに変更します。

Python
animals = ("monkey","crab","crocodile")
animals = list(("moneky","crab","crocodile"))
animals[1] = "shrimp"
print(animals)

【実行結果】
['moneky', 'shrimp', 'crocodile']

要素crabが要素shrimpに変更されました。

STEP
変更したリストをタプルに変換

STEP3で出来たリストをタプル関数を用いてタプルへ変換します。

Python
animals = ("monkey","crab","crocodile")
animals = list(("moneky","crab","crocodile"))
animals[1] = "shrimp"
animals = tuple(animals)
print(animals)

【実行結果】
('moneky', 'shrimp', 'crocodile')

リストを経由することにより、タプルの要素を変更することができました。同様にして、タプルに要素を追加したり、削除したりする事ができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次