目標
インデックス式を理解して利用できる。
スライス式を理解して利用できる。
(pythonの)「タプル」の利用方法
インデックス式の利用
(pythonの)「タプル」の要素の取得
(pythonの)「タプル」では、リストと同様に要素の取り出しにインデックス(添え字)を利用します。インデックスには先頭から数えす「非負のインデックス」と末尾から数える「負のインデックス」があります。(下キャプチャは再掲載)
非負のインデックス
非負のインデックスはタプルの先頭要素を「0番目」として要素の末尾に向かって「1」ずつ増加する数え方をします。インデックスはタプルを紐づけた変数に [] を利用して記述します。(例:sample[6])
sample_tuple = (9, 11, 8.7, 'abc', 5j)
print(sample_tuple[ 0 ])
print(sample_tuple[ 1 ])
print(sample_tuple[ 2 ])
print(sample_tuple[ 3 ])
print(sample_tuple[ 4 ])
実行結果
負のインデックス
負のインデックスはタプルの末尾の要素を「-1番目」として要素の先頭に向かって「1」ずつ減少する数え方をします。(例:sample[-3])
sample_tuple = (9, 11, 8.7, 'abc', 5j)
print(sample_tuple[ -1 ])
print(sample_tuple[ -2 ])
print(sample_tuple[ -3 ])
print(sample_tuple[ -4 ])
print(sample_tuple[ -5 ])
実行結果
「スライス式」を利用した複数の値の取得方法
(pythonの)「タプル」では「インデックス番号」「 [] ブラケット」「:コロン」を利用して複数の値を取得することができます。この式のことをスライス式と呼びます。
スライス式を利用すると「連続した要素」や「一定間隔の要素」を取得することができます。要素の取り出しには次の文法とルールがあります。ルールについては例を踏まえて解説していきます。
文法
sample[x : y] | sample[x] から sample[y-1] までの要素 |
sample[x : y : z] | sample[x] から z-1 おきの sample[y-1] までの要素 |
# 例
sample_tuple = ( 34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1 )
print(sample_tuple[ 2:6 ])
print(sample_tuple[ 2:20 ])
print(sample_tuple[ -3:-7 ])
print(sample_tuple[ -7:-3 ])
print(sample_tuple[ -20:-3 ])
print(sample_tuple[ 0:10:2 ])
print(sample_tuple[ : ])
print(sample_tuple[ :3 ])
print(sample_tuple[ 3: ])
print(sample_tuple[ ::2 ])
print(sample_tuple[ ::-1 ])
実行結果
print(sample_tuple[2:6])
この場合は先頭から2番目の要素「78」から5番目の要素「51」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[2:20])
この場合は先頭から2番目の要素「78」から最後の要素「1」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[-3:-7])
この場合は要素を取得できません。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[-7:-3])
この場合は先頭から-7番目の要素「51」から-4番目の要素「71」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[-20:-3])
この場合は先頭から0番目の要素「34」から-3番目の要素「71」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[0:10:2])
この場合は先頭から0番目の要素「34」から9番目の要素「3」までを2-1おき(今回の場合は1つおき)に取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[:])
この場合は先頭から0番目の要素「34」から最後の要素「1」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[:3])
この場合は先頭から0番目の要素「34」から2番目の要素「78」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[3:])
この場合は先頭から3番目の要素「99」から最後の要素「1」までを取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[::2])
この場合は先頭から0番目の要素「34」から最後の要素「1」までを1つおきに取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
print(sample_tuple[::-1])
この場合は先頭から0番目の要素「34」から最後の要素「1」までを逆順で取得します。
(34, 23, 78, 99, 10, 51, 8, 48, 71, 3, 66, 1)
↓
(1, 66, 3, 71, 48, 8, 51, 10, 99, 78, 23, 34)
今回は以上になります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。