タプルの使い方について学ぶ

こんにちは、独学エンジニア慎太郎です。

今日はタプルの使い方を学んだので、まとめてみます。

そもそもタプルっていう言葉の意味もわかっていませんでしたが、独学でもちゃんとポイントを押さえて整理すれば、そんな難しいことではありません。

初学者の皆さんに参考になればと思います、一緒に頑張りましょう!

そもそもタプルとは?

タプルとは、一般的な意味で言うと、複数の構成要素からなる組を総称する一般概念のこと。

pythonで言うと、次のような()と,で構成されている、リストに似たシーケンス型のオブジェクトのこと。

test_tuple = (1, '2', True) #ここがタプル
print(test_tuple[0])  # 1 が表示される

シーケンス型のオブジェクト??? シーケンス型ってなんやねん?って感じです。

シーケンス型とはオブジェクトを順番(シーケンシャル)に処理するためのデータ構造のこと。

基本的なシーケンス型は、リスト 、タプル、rangeオブジェクトの3つ。これは理解しておく必要がありますね。これをまとめたドキュメントリンクは以下。

https://docs.pyq.jp/python/library/sequence.html

タプルの特徴は次のようなものがあります。

タプルの特徴
  • 要素の追加、変更、削除ができない
  • 要素が1つしかない場合、カンマをつけないとタプルではなく値になってしまう
  • 作成後は変更できない(これをイミュータブルと言う)

タプルの要素を複数の変数に代入する方法!アンパック代入

タプルのことはなんとなく理解できました。

今後はこのタプルに入った要素を複数の変数に代入する方法についてまとめます。

この代入方法をアンパック代入と言います。これはタプルだけでなく、リストや文字列でも同じ呼び方をします。

では、具体的なコードをみてみましょう。

def main():
    python = ('Python', 1991) #ここがタプル
    ruby = ('Ruby', 1995) #ここがタプル
    go = ('Go', 2009) #ここがタプル

    programming_lang = (python, ruby, go) #タプルを代入した変数をさらに1つの変数にまとめて代入

    for lang in programming_lang: #繰り返し処理を実施
        
        name, year = lang #ここがすごい!1つの変数に代入したタプルの2つの要素をここで2つの変数に代入できる
        print(name, year, '年生まれ')

出力すると、

Python 1991 年生まれ Ruby 1995 年生まれ Go 2009 年生まれ

と表示されます。このアンパック代入もpythonが学びやすいと言われる所以のような気がしました。

まとめ

今回はタプルについてまとめました。

リストは要素を追加・変更できる利便性がありますが、場合によっては変更したくない要素ってありますよね。

そう言う場合はタプルを使いましょう。

この記事はpythonをオンラインで学習できるPyQを元に作成しています。もし興味があれば、PyQを使って独学してみて下さいね。

この記事が気に入ったら
いいね ! しよう

コメントを残す