【Python】タプル型(配列)を扱ってみよう!

Pythonロゴ

Pythonには変数として「数値」「文字列」「配列」「辞書」など複数のタイプがあります。 こちらの記事では「タプル型(配列)」についてまとめてみました。

タプル型について

丸括弧の中に要素(数値、文字列)を格納することでタプル型を作る事ができます。
0番からキーを指定することで対象の情報を取得する事ができます。
リスト型と違う点として、1度格納した値を変更する事ができないようになっています。

print("\nタプル型の変数作成")
tuple1 = ('a', 'b', 'c')

print(tuple1)
print(type(tuple1))

# 結果
# ('a', 'b', 'c')
# <class 'tuple'>

1番のキーの要素を取得する場合は下記のように記載

tuple2 = ('a', 'b', 'c')
print(tuple2[1])

# 結果 b

1度保存したタプル型に要素変更をするとエラーが表示されます。

tuple3 = ('a', 'b', 'c')
tuple3[1] = 'Z'
print(tuple3)

# 結果 
# Traceback (most recent call last):
#  File "/opt/project/tuple.py", line 2, in <module>
#    tuple3[1] = 'Z'
# TypeError: 'tuple' object does not support item assignment

タプル型のよく使う処理

指定インデックスの範囲で要素取得

指定インデックス範囲の要素を取得する場合は角括弧を使い下記のように入力します。
変数名[開始インデックス:終了インデックス]

tuple4 = ('a', 'b', 'c', 'd', 'e')
print(tuple4[1:3]) # 開始インデックス ~ 終了インデックスまで
print(tuple4[:3]) # 始め ~ 終了インデックスまで
print(tuple4[3:]) # 開始インデックス ~ 終了まで

# 結果
# ('b', 'c')
# ('a', 'b', 'c')
# ('d', 'e')

指定要素のインデックスを取得

tuple5 = ('a', 'b', 'c')
print(tuple5.index('c'))

# 結果 2

指定要素の数を取得

tuple6 = ('a', 'b', 'c', 'a', 'd')
print(tuple6.count('a'))
print(tuple6.count('z'))

# 結果 
2
0

タプルの使いどころ

Pythonにはリスト型の配列が存在するためタプル型は必要無いように思われます。しかし、複数人で開発をする場合は、定数を設定する場合はタプル型は大変役に立ちます。

例えば、開発者がAさんが最初の部分を作成してBさんが最後の部分を開発しています。Bさんは設計書に記載の変数(定数設定)を使い処理をしたところエラーが発生しました。なぜ?
上記ではAさんの方で開発したプログラムで変数(定数設定)を書き換えたのが原因でした。

リスト型の変数の場合、書き換えが行えるため上記の問題が発生します。プログラムはミス無く、楽をして開発をしたいと思いますのでタプル型を使って定数を
設定する事で上記の問題を発生させないことができます。

まとめ

タプル型(配列)に関して基本的な部分を再確認いたしました。
タプル型は使いどころを知っているとミスの少なくプログラムを作る事ができます。
次回は辞書型について確認していきます。

記事内で使った単語関数

インデックスについて
1つの変数に複数の要素を保存する場合、要素を保存する枠が必要になります。
枠の識別をするためにインデックスという文字が割り当てられます。
インデックスは要素が増えると自動で連番が割当られます。

サンプルプログラム

こちらの記事で作成したプログラムはGitHub環境にアップしております。
下記からダウンロードいただけます。

参考 tuple.py スクリプトGitHub python-beginner Pythonロゴ【Python】辞書型を扱ってみよう! Pythonロゴ【Python】リスト型(配列)を扱ってみよう!