営業時間:平日9:00~17:00

プログラミング

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

saori
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つのプログラムを共有する場合、タプルは必須となるコードです。使いどころを見極めて、良質なプログラムを書けるようになりたいところです。

ちなみに、最後に説明した一部の出力は、リストでも同様に出来るので是非やってみてください。

あなたにオススメの記事

Mid2019モデル最新のMacBook Pro 15インチが6/18からレンタル開始

Mid2019モデル最新のMacBook Pro 15インチが6/18からレンタル開始

スカイツリー、エイサー、よさこいが楽しめる隅田川踊り納涼大会

スカイツリー、エイサー、よさこいが楽しめる隅田川おどり納涼大会

初めてジモティーを使ってみての感想と心配だったお金の受け渡し

初めてジモティーを使ってみての感想と心配だったお金の受け渡し

7月17日はソニーがメモリースティックを発表した日

7月17日はソニーがメモリースティックを発表した日

第51回三鷹阿波踊りへ行ってきました

第51回三鷹阿波踊りに行ってきました

MacBookの写真撮るからメイド服着てって意味不明なこと言われた

7月7日は「ひまわり8号」の運用が開始された日

7月7日は「ひまわり8号」の運用が開始された日

アップルウォッチは集中力を高めたり維持する効果がある

佃公園から撮影した中央区界隈の無加工夜景写真

佃公園から撮影した中央区界隈の無加工夜景写真

6月1日は電波の日

6月1日は電波の日

芸術家と接するとき芸術家ではない者はどうすればいいのか

芸術家と接するとき芸術家ではない者はどうすればいいのか

MacBookでUdemyを受講してみた

【WA・BI・SA】の【香ほろん】をお土産に頂きました

【WA・BI・SA】の【香ほろん】をお土産に頂きました

6月16日はスペースインベーダーの日

6月16日はスペースインベーダーの日

4月24日はアップルウォッチが発売された日

SPONSOR