Python 入門 ノート (14)タプルの使いどころ

3つの選択肢から2つ選ぶ場合

タプルの場合

タプルでもって3つの要素から、2つを選んでみます。

choose_two = ('A', 'B', 'C')
answer = []
answer.append('A')
answer.append('C')
print(choose_two)
print(answer)

('A', 'B', 'C')
['A', 'C']

リストの場合

書換不能なタプルでなくて、書き換え可能なリストを使った場合、困る場合があります。

もし、プログラムを間違えて書いた場合、

うっかり、answer に append すべきところ choose_two に append してしまったら…

choose_two = ['A', 'B', 'C']
choose_two.append('A')
choose_two.append('C')
answer = []
print(choose_two)
print(answer)

['A', 'B', 'C', 'A', 'C']
[]

上記の様に間違えると、書き換えが起こってしまい、choose_two が書き換えられてしまいます。

そこで…

リストをタプルにしてあると書き換えは起きません(^^♪

タプルの場合を見ますと

choose_two = ('A', 'B', 'C')

choose_two.append('A')
choose_two.append('C')
answer = []
print(choose_two)
print(answer)
Traceback (most recent call last):
File "/home/ec2-user/environment/Myapp.py", line 2, in <module>
choose_from_three.append('A')
AttributeError: 'tuple' object has no attribute 'append

上記の様にエラーが返ってきますので、choose_two の書き換えは生じません。

タプルは書換不可(tupleにappendは使えないので)バグを発見しやすくなり、間違いが起こりにくくなります。

コメント