【Python】タプル(tuple)で要素を操作(追加/変更/削除)する方法!

Pythonのタプル(tuple)は一度セットした要素を書き換えることができない(イミュータブル)ものである為、要素を直接的に操作(追加したり、変更したり、削除したり)することはできません。

しかし、タプルを一度リストに直すことで、タプルの要素を操作(追加したり、変更したり、削除したり)することができます。

また、タプルを一度リストに直さなくても、別の方法でタプルの要素の追加、削除を行うことはできますが、変更することはできません。

今回はPythonのタプル(tuple)で要素を操作(追加/変更/削除)する方法について以下の内容について解説していきます。

⚫︎ タプル(tuple)の要素を追加する場合
⚫︎ タプル(tuple)の要素を変更する場合
⚫︎ タプル(tuple)の要素を削除する場合

⚫︎ タプル(tuple)をリスト化して要素を追加する場合
⚫︎ タプル(tuple)をリスト化して要素を変更する場合
⚫︎ タプル(tuple)をリスト化して要素を削除する場合

タプル(tuple)とは

タプル(tuple)とは一度セットした要素を書き換えることができない(イミュータブルな)リストのことをいいます。

その為、タプルは変更したくない、変更されたくない要素を格納する場合に使用します。

タプル(tuple)の書き方

タプル(tuple)の構文は下記となります。

()の中で要素ごとにカンマ(,)で区切って書くことで作成します。
また、()を省略して直接、要素を書いて作成することもできます。

タプル(tuple)で要素を操作(追加/変更/削除)するサンプルコード

タプル(tuple)で要素を操作(追加/変更/削除)するサンプルコードを紹介します。

タプル(tuple)で要素を追加する場合

タプル(tuple)一度作ると変更ができませんので、タプルで要素を追加する事はできません

しかし、別のタプルを作成しそのタプルを連結することで要素を追加することができます。

出力結果

(‘ライオン’, ‘ゴリラ’, ‘くま’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’, ‘猿’, ‘かば’)
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

別のタプルを作成して、そのタプルを連結をすることでタプルに要素を追加しています。

タプル(tuple)で要素を変更する場合

タプルは一度作ると変更ができないため、タプルで要素を変更することはできません
要素を変更しようとするとエラーとなります。

例1

出力結果

TypeError: ‘tuple’ object does not support item assignment

タプル(tuple)で要素を削除する場合

先ほども言いましたがタプルは一度作ると変更することができないのでタプルで要素を削除することもできません

しかし、スライスを使って部分的に取り出し、要素を削除したようなタプルを作ることはできます。

出力結果

削除前
(‘ライオン’, ‘ゴリラ’, ‘くま’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’)
(1, 2, 3, 4, 5, 6, 7)
削除後
(‘ゴリラ’, ‘くま’, ‘キリン’)
(2, 3, 4, 5)

スライスすることでタプルの要素を削除したように見せることができます。

タプル(tuple)をリストに変換して要素を操作(追加/変更/削除)する方法

タプル(tuple)をリストに変換することでタプルの要素を操作(追加/変更/削除)することができます。

タプル(tuple)をリスト化して要素を追加する場合

タプル(tuple)をリスト化して要素の追加を行ってみます。

出力結果

追加前
(‘ライオン’, ‘ゴリラ’, ‘くま’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’)
(1, 2, 3, 4, 5, 6, 7)
追加後
(‘ライオン’, ‘ゴリラ’, ‘くま’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’, ‘白鳥’)
(1, 2, 3, 4, 5, 6, 7, 8)

タプルを一度リスト化して要素の追加を行っています。

タプル(tuple)をリスト化して要素を変更する場合

タプル(tuple)をリスト化して要素をの変更を行ってみます。

出力結果

変更前
(‘ライオン’, ‘ゴリラ’, ‘くま’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’)
(1, 2, 3, 4, 5, 6, 7)
変更後
(‘ライオン’, ‘ゴリラ’, ‘猿’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’)
(1, 2, 3, 8, 5, 6, 7)

タプル(tuple)を一度リスト化して要素の変更を行っています。

タプル(tuple)をリスト化して要素を削除する場合

タプル(tuple)をリスト化して要素の削除を行ってみます。

出力結果

削除前
(‘ライオン’, ‘ゴリラ’, ‘くま’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’)
(1, 2, 3, 4, 5, 6, 7)
削除後
(‘ライオン’, ‘ゴリラ’, ‘キリン’, ‘ぞう’, ‘とら’, ‘しまうま’)
(1, 3, 4, 5, 6, 7)

タプル(tuple)を一度リスト化して要素の削除を行っています。

今回のポイント

タプル(tuple)の要素の追加/変更/削除は直接行えない

⚫︎ タプル(tuple)は一度セットした要素を書き換えることができない
(イミュータブルである為、要素を直接的に操作できない)

⚫︎ 別のタプルを作成しそのタプルを連結することでタプル(tuple)で要素を追加することができる

⚫︎ タプル(tuple)は要素を変更することができない

⚫︎ スライスを使って部分的に取り出すことでタプル(tuple)で要素を削除するように見せることができる

⚫︎ タプル(tuple)を一度リスト化すると、タプルの要素を操作(追加/変更/削除)することができる

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し