Python「タプル ~中身を変更しないリスト~」

Python

( タプル )は、追加も削除もできない

こんにちは、徳です。

デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。

現在は初心者なので、とにかくゆっくり進んでいくと思います。

また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。

では、いきましょう!

Python

Pythonでは、複数の値を一つにまとめることのできるものとして、リストがあります。

徳

リストを使うことで、たくさんのデータを扱いやすくなります。

Pythonでは他に

タプル

というものもあります。

タプルも同じく、

複数の値をインデックス番号で保存できる集まり

です。

では、リストと何が違うのでしょうか?

今回は、そんなタプルについて紹介させていただきます。

それではよろしくお願いします。

タプルとは

説明

タプルは中身の変えられないロッカー

タプルは中身の変えられないロッカーです。

徳

タプルにたくさんの値を入れることで、

変数を増やさず扱うことができるようになります。

タプルには一つづつインデックス番号が振られている

タプルの中に入った値には、一つ一つ番号が振られます。

それを

インデックス番号

と言います。

徳

ロッカー番号のようなものです。

入っているデータ一つ一つにインデックスという番号が振られており、

タプル名 + インデックス

で中身を使用することができます。

また、このインデックス番号は、0から始まります。

つまり、インデックス番号は、

1番目

0

2番目

1

n番目

n + 1

ということです。

徳

最初は0からです。よく間違えるため、気をつけましょう。

リストと何が違うの?

ここまでで、気づいた方もいらっしゃるでしょう。

タプルはリストと似ています。

タプルもリストも、

複数の値をまとめて保存するもの

一つ一つの値にインデックス番号は振られている

インデックス番号は0から始まる

このように、タプルとリストには同じことがたくさんあります。

では、何が違うでしょうか?

それは、

タプルは中身を変更できない

ことです。

リストには、

  • .append()メソッド:後ろに値を追加する
  • .remove()メソッド:指定した値を削除する

などの中身の変更ができます。

しかし、タプルの中に入っている値は変更できません。

徳

これだけ聞くとすごく不便に気候得ますよね。

全てリストでいいのではと思ってしまいます。

リストでなくタプルにするメリット

複数の値をまとめる時、リストでなくタプルにするメリットは、

  • 謝って値を変更することがなくなる
  • 処理時間が早くなる

ということです。

謝って値を変更することがなくなる

タプルは、値を変更することができません。

こう聞くと、デメリットのように聞こえます。

しかし、プログラムが長くなると、

気づかないうちに値が変わってしまうこともよくある

のです。

そう考えると、

絶対変更できないということはメリットにもなる

のです。

タプルに入れれば、その中の値は必ず変化しません。

徳

値が絶対変化しない

これは、プログラミングにおいては安心になるのです。

処理時間が早くなる

タプルには、リストと違って追加・削除の機能がありません。

その分、使用するメモリも少なくすみます。

そのため、

タプルの方が処理時間が短くなる

と言われています。

徳

私は、まだこの差は実感できていません。

より長いプログラムを作ることでその差が実感できるのだと思います。

どうやって使うの?

作り方

タプル名 = ( 値1 , 値2 , 値3 , ・・・) 

タプルは、

( ) 丸カッコ

で囲います。

徳

タプル名には、何のタプルかわかるような名前を入れましょう。

呼び出し方

全て呼び出す
タプル名

呼び出し方はそのままタプル名を書けば良いです。

徳

ここは変数と同じですね。

つまり、

tuple = ( 20 , 54 , 1 , 11 , -5 )
print(tuple)

このようにprint関数で中身を全て見ることができます。

タプルの中の一つを呼び出す
タプル名[インデックス名]

タプル名にインデックス番号をつけることで、一つだけ呼び出すことができます。

つまり、

tuple = ( 20 , 54 , 1 , 11 , -5 )

for i in range(5):
    print(tuple[i])

このようにインデックス番号+1番目の値が表示されます。

OnePoint

リストの一番最初のインデックス番号は0です。

つまり、n番目の値が欲しい場合のインデックス番号は、n+1ということです。

中身は変えられない

タプルは中身を変えることができません。

一度試してみましょう。

タプル名[インデックス番号] = 変更する値
徳

このように代入することができません。

タプルは追加できない

タプルでは、中身を追加することはできません。

試しに、

.append()メソッド

を使用してみましょう。

tuple = ( 1 , 2 , 3 , 5 )
a = 7
tuple.append(a)
print(tuple)
徳

追加できませんでした。

このようにタプルは追加をすることはできません。

まとめ

今回は、

タプル

について紹介させていただきました。

タプルとは、複数の値を一つにまとめるものです。

計算結果や保存しておきたい値を全て変数に代入すると、後で使用するとき間違える可能性大です。

徳

変数を間違えた場合、計算結果はもちろん違う値になります。

その時にこちらのタプルに保存することで、一つにまとめて保存することができます。

タプルの注意点として、

インデックス番号は0から始まる

ということです。

そのため、タプルの一番目の値のインデックス番号は0になります。

ここまでは、リストと同じ説明です。

しかし、タプルは中身を変更することができません

リストにあるような、

「.append()メソッド」や「.remove()メソッド」

を使用することができないのです。

その分、

  • 謝って値を変更することがなくなる
  • 処理時間が早くなる

というメリットもあります。

絶対に変えたくない値の集まりを作るときは、リストではなくタプルの方が良いということもあります。

最後まで読んでいただき、ありがとうございました。

コメント

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