Pythonにおけるtupleの利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるtupleの利用方法について現役エンジニアが解説しています。タプル型はリスト型と同じように複数の値を保持できるPythonのデータ型の1つですが、定義後に要素を変更することが出来ない点に違いがあります。taplu型は宣言に丸括弧( )を使用します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonにおけるtupleの利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Pythonオンライン講座の内容をもとにしています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonにおけるtupleの利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

tuple(タプル)とは?

tuple型は、Pythonにおける配列の一つで、複数の値を保持・管理できる要素です。

Pythonの配列としては他にもlist型があります。

tuple型とlist型の大きな違いとして、list型では要素を変更したり削除することができます。しかし、tuple型では要素の変更・削除もできません。list型がわからない方はこちらの記事をご覧ください。

 

また、tuple型はlist型・dictionary型(辞書型)と併用することが可能です。

変更できない変数であるtuple型の性質は”immutable”(イミュータブル)といいます。

この”immutable”の性質を利用して、値を参照するための変数として使われることも多くなっています。

 

tuple型の性質として、list型よりも早い演算ができること、コンピュータの使用メモリが少なくて良いことなども特徴です。

そのうえで、tuple型は変数への代入なども可能であるため様々な使い方が可能です。

tupleの使い方

tupleを生成するには、listを生成するときに角括弧[ ]を使ったように、丸括弧( )を使って要素を並べます。

以下、tupleを生成するコードです。

tuple1 = ('a', 'b', 'c', 'd')

tupleの各要素を参照したい場合には、listと同じようにインデックス番号を使います。

例のtupleでtuple1[1]とすると、インデックス番号が1である’b’が抽出可能です。他にも、listと同じようにスライスを使うこともできます。例えば、tuple[2:]では、(‘c’, ‘d’)が抽出できます。

tuple型では要素の変更も削除もできません。しかし、tuple型ではスライスを使って要素を抽出する、list型に変更してから要素を削除・変更し、更にtuple型に変更することが可能です。そのため、プログラムのtuple型の変更のようなことを行なうことができます。

[PR] Pythonで挫折しない学習方法を動画で公開中

tupleを利用してデータを作成してみよう

ここでは、tuple型を使ってデータを作成してみましょう。

今回は、tuple型が変更できないことを利用して、list型に格納された変数の値ごとに、tuple型を参照して文字列を出力するプログラムを書いていきます。ここで、参照するのはtupleではなくlistなどでも可能です。しかし、予期せぬエラーなどで値が変更されることを防ぐためにtupleを使いましょう。

 

まずは、listを作ります。

list1 = [1, 2, 3, 4, 5]

次に、参照するtupleを用意します。

tuple1 = ('偶数', '奇数')

list型は角括弧[ ]で生成し、tupleは丸括弧( )で生成することに注意してください。

そして、今作ったlistとtupleを使用し、for文で文字列を出力していきます。

 

list内の数字を2で割った余りは、偶数のときは0、奇数のときは1であることを利用して、tupleにわたすインデックス番号とします。
その場合、以下のようなコードで表すことが可能です。

for item in list1:
 print(tuple[item % 2])

これで、tupleを使用して行ないたい処理が実行できます。

これを実行すると、

奇数
偶数
奇数
偶数
奇数

というように出力されることが確認できるでしょう。

 

このコードと同様の結果は、if 文を使って場合分けした場合、以下のコードで表せます。

for item in list1:
 if item % 2 = 1:
  print(tuple1[1])
 elif item % 2 = 0:
  print(tuple1[0])

しかし、コードが長くなってしまうことはデメリットだといえるでしょう。

以上、この記事では、Pythonにおけるtuple の扱い方について解説しました。tupleを使うことでコードの行数を減らす工夫ができます。

tupleを使うメリットを理解し、実際に自分でコードを書いて実践することでtupleに慣れてみましょう。

執筆してくれたメンター

小倉翔悟(おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

田島悠介

Pythonにおけるtupleの利用方法はよく理解できた?

大石ゆかり

はい、内容も分かりやすくて良かったです!

田島悠介

なら大丈夫だね。これからもわからないこともあると思うから、どんどん質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。