タプルの要素にアクセスする
前回は、タプルの特徴とその作成について扱いました。
今回はその続きとして、タプル内の要素を取り出す方法についてみていきましょう。
タプルから要素を取り出す際は、リストと同様にインデックスを使用して要素にアクセスします。
1 2 3 4 5 | tuple1 = ( "Hello" , "Tuple" , 100 ) ###タプルを作成 print (tuple1[ 0 ]) ###作成したタプルの先頭から1番目の要素を取り出す print (tuple1[ 1 ]) ###作成したタプルの先頭から2番目の要素を取り出す print (tuple1[ - 1 ]) ###作成したタプルの後ろから1番目の要素を取り出す print (tuple1) |
Hello
Tuple
100
(‘Hello’, ‘Tuple’, 100)
インデックスは文字列同様、左の要素から0,1,2…の順で番号が振られています。
また、要素の後ろから数えることもでき、その場合は-1,-2,-3…の順で番号が振られています。
タプルの中からある要素を指定して取り出す際は、このインデックス番号を指定して取り出します。
また、要素の取り出しはあくまでタプル内の要素を参照しているだけですので、
1行目で宣言したタプルそのものは変化していません。
また、タプル内の要素を1つずつではなくすべての要素を順に取り出す方法も用意されており、
こちらもリストと同じです。この場合は、for文を使用して取り出します。
1 2 3 4 | week = tuple ( "月火水木金土日" ) ###タプルを作成 print (week) for day in week: print (day + "曜日" ) |
(‘月’, ‘火’, ‘水’, ‘木’, ‘金’, ‘土’, ‘日’)
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
日曜日
まず組み込み関数の tuple() を使用して、文字列からタプルを作っています。
そして、for文を用いてタプルの要素を先頭から1つずつ取り出し、文字列と結合して表示しています。
このように、タプルの要素へのアクセスはいくつかの方法が用意されています。
また、以下のような記述はエラーになります。
1 2 | tuple1 = ( "Python" , "Java" , "C#" , "PHP" , "VBA" ) tuple1[ 1 ] = "Ruby" |
Traceback (most recent call last):
File “7-2.py”, line 2, in
tuple1[1] = “Ruby”
TypeError: ‘tuple’ object does not support item assignment
リストであれば上記のような記述は、指定したインデックスの要素を変更する記述になります。
しかし、前回の記事で紹介した通り、タプルはイミュータブル、つまり要素を
変更/追加/削除 することが出来ないデータ型であるため、上記のような記述をするとエラーになります。
まとめ
・タプル内の要素を参照する際は、インデックス番号を指定して参照する。
・for文を用いて、タプル内のすべての要素を参照することも出来る。
・タプルはイミュータブルであるため、要素を変更/追加/削除することはできない。
確認問題
1.以下の2つのタプルの要素を順番に取り出して、文字列を連結して表示してみましょう。
first = (“かぐや様は”, “レディ&”, “トライガン・”, “北北西に”, “血界戦線”)
second = (“告らせたい”, “オールドマン”, “マキシマム”, “曇と往け”, “Back2Back”)