Python基礎編:タプルの書き方と出力、リストとの違い

これまでは、Pythonにおけるリストの作り方とルール、それに付随する内容を2つの記事に分けて説明しました。
Python基礎編:リストの書き方とルール、予約語と組み込み関数
Python基礎編:リストの書き方とルール、出力→追加→削除
今回の記事では、タプルについて説明します。
タプルとは
タプルとは、リストと同じデータ型の1つです。
リストとの違い
タプルはリストの様に、要素の追加や変更、削除を行うことはできません。
これが何を意味するかと言うと、例えば1つのプログラムを複数人のプログラマーと共有する場合、追加や変更、削除といったことを加えられたくない箇所をタプルで記述しておけば、自分以外のプログラマーによる変更を防ぐことが出来ます。
リストと比べると使いどころが少しわかりにくいタプルですが、使わないといけないケースは多分にありますので、Pythonを学習するなら必ず覚えておきましょう。
書き方
それではタプルの書き方を説明します。
fruit_tuple = ('りんご','オレンジ','バナナ','いちご')
number_taple = (1,2,3,4,5)
タプル名=()の中に要素名を’’(シングルクォーテーション)で囲い、要素の区切りに,(カンマ)を付けます。
ですが、要素を数値として認識させたい場合は’(シングルクォーテーション)では囲いません。
では、タプルはリストと何が違うのかを見てみましょう。先ほどのタプルと同じ要素のリストは、
fruit_list = ['りんご','オレンジ','バナナ','いちご']
number_taple = [1,2,3,4,5]
となります。
結論を言えば、[]が()に変わっただけで、他の部分は全く一緒です。そして、「[]が()に変わった」、というこの違いがタプルでは重要なのです。
最初に説明したように、タプルで記述すると要素の追加や変更、削除はできません。よって要素を追加や変更、削除する可能性がある場合はリストを使用し、要素を絶対に変えたくない場合や、あるいは変えてはいけない場合はタプルを使用しましょう。
出力
続いてタプルの出力方法です。タプルの出力方法も、基本的にはリストの出力方法と変わりません。
- print(リスト名)=リストの中身を全て出力することができます。
- print(リスト名[インデックス番号])=指定のインデックスにある要素が出力できます。
- print(len(リスト名))=リスト内の要素の数を出力することができます。
fruit_tuple = ('りんご','オレンジ','バナナ','いちご')
print(fruit_tuple)
print(fruit_tuple[2])
print(len(fruit_tuple))
このように書き出力すると、実行結果は以下のようになります。
リストと同じ書き方なので、すぐに覚えられそうですね。
複数の要素を出力
複数の要素の出力についても説明します。複数の要素を出力したいときは、
print(リスト名[開始位置:終了位置])
と書きます。
開始位置と終了位置には、それぞれ該当させたいインデックス番号を入れます。また開始位置と終了位置の間には:(コロン)を入れます。
fruit_tuple = ('りんご','オレンジ','バナナ','いちご')
print(fruit_tuple[2:4])
以下が実行結果です。
このように、指定の開始位置インデックスから指定した終了位置インデックスまでが出力できました。
他にも、要素を飛ばして出力することもできます。
print(リスト名[開始位置:終了位置:ステップ数]
先ほどのコードの最後に、「ステップ数」を追加します。終了位置とステップ数の間には:(コロン)を忘れずに入れてください。
number_tuple = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
print(number_tuple[4:13:3])
仮に「1~15」までの数値を入れ、開始位置をインデックス「4」、終了位置をインデックス「13」にします。そしてステップ数は「3」にして出力した結果が以下です。
「5,8,11」
と出力されました。解説が必要だと思うので、解説します。
まず、開始位置であるインデックス「4」は数値の5を出力します。続いてステップ数「3」により出力されたのが、5+3=8で8、更に8に+3された11、が出力されたのです。
終了位置インデックスは「13」なので、11+3=14である14は、出力されません。
最初はややこしいですが、慣れるとすぐに理解できるようになるので心配いりません。
ですが、数字だとインデックスがわかりづらいと思いますので、平仮名でもやってみます。平仮名の「あ~さ」までをタプルに入れて、開始位置をインデックス「2」、終了位置をインデックス「9」、ステップ数を「2」にして出力します。
hiragana=('あ','い','う','え','お','か','き','く','け','こ','さ')
print(hiragana[2:9:2])
実行結果が以下です。
開始位置インデックス「2」の「う」から始まり、2つずつとんで「お」、「き」、「け」となっています。終了位置が「9」なので、「さ」は出力されません。
まとめ
Pythonのタプルの書き方と出力方法、そしてリストとの違いを説明しました。
リストとの違いでも書きましたが、複数人のプログラマーで1つのプログラムを共有する場合、タプルは必須となるコードです。使いどころを見極めて、良質なプログラムを書けるようになりたいところです。
ちなみに、最後に説明した一部の出力は、リストでも同様に出来るので是非やってみてください。
あなたにオススメの記事