Python データ構造 タプル

タプル

リスト同様に複数のデータをまとめることができる。
リストと異なるのは、後から値を変更できないという点。

基本

宣言

t = (1, 2, 3, 4, 5, 6, 7, 8, 9)
t = 1, 2, 3 # ()を省略してもタプルになる
t = 1, # カンマをつけるとタプルになる
t = () # からタプルになる
t = (1) # タプルではなくint型になる。タプルにするには(1,)のようにカンマをつける

インデックス

l[0] # 先頭(0番目)
l[1] # 1番目
l[-1] # 最後
l[-2] # 最後から2番目
l[100] # 存在しないインデックスはエラーIndexErrorが返る

スライス

l[0:2] # 0番目から1番目
l[2:5] # 2番目から4番目
l[:2] # 0番目から1番目
l[2:] # 2番目から最後まで
l[:] # リスト全体
l[::2] # 1つ飛ばし
l[::-1] # 後ろから逆準で全リスト

関数

len(l) # リスト中のデータ数
type(l) # <class ‘tuple’> が返る
tuple(‘abcdefg’) # 1文字ずつ取り出してタプルに変換

ネスト

a = (‘a’, ‘b’, ‘c’)
n = (1, 2, 3)
x = (a, n) # ((‘a’, ‘b’, ‘c’), (1, 2, 3))
x[0] # (‘a’, ‘b’, ‘c’)
x[1][2] # 3が返る

a = [‘a’, ‘b’, ‘c’]
n = [1, 2, 3]
x = (a, n) # ([‘a’, ‘b’, ‘c’], [1, 2, 3])
x[0][0] = ‘x’ # タプルにリストを入れた場合、リストの中身は変更できる

データ操作

タプルの結合

a = (1, 2, 3)
b = (4, 5, 6)
c = a + b # 新しいタプルを宣言すればタプル同士を結合できる

タプルのアンパッキング

num_tuple = (10, 20)
x, y = num_tpule # xとyにそれぞれ10と20が代入される。

x, y = 10, 20 # タプルは()を省略できる。これは変数宣言の時に使われる。

a = 100
b = 200
a, b = b, a # 値の入れ替え

さまざまなメソッド

r = (1, 2, 3, 4, 5, 1, 2, 3)
r.index(3) # 指定した要素がどのインデックスにあるかを調べる
r.index(3, 3) # 3番目のインデックスから3を探しインデックス番号を返す
r.count(3) # 指定した要素の数を返す

コメント

タイトルとURLをコピーしました