Python 入門 ノート (13)タプルのアンパッキング

タプルのアンパッキング

変数 num_tuple に配列(タプル)を代入し、出力 print します。

num_tuple = (10, 20)
print(num_tuple) 

(10, 20)

num_tupleのアンパッキング

num_tuple = (10, 20) x, y = num_tuple 

print(x, y) 10 20

上記の様に

カンマ(,)区切りで「 x, y 」 にタプル「num_tuple」を代入すると

アンパッキングによって

各々 x,y にタプルの値が代入されます。

言い換えると、以下は同じ結果になる。

x, y = (10, 20)
print(x, y)
 10 20

更に、

タプルではパレンテス()を除いてもよいので

パレンテス()を除いたタプル表現では、以下のように変数宣言の際に使われる表現と同じになる。

x, y = 10, 20
print(x, y)
  10 20

例の追加
min, max = 0, 100
print(min, max)
  0 100

但し、あまり長くしすぎると、
a, b, c, d, e, f = 'Mike', '1', '1', '2', '3', '4'
では可読性が落ちるので以下の表現がベターです。
a = 'Mike
b = '1'

タプルを利用して数字を入れ替えてみよう

数字の入れ替え(タプルのアンパッキングを利用)

タプルのアンパッキングを利用しない場合

変数の値の入れ替え、

i と j の値の入れ替え

i = 10
j = 20
temp = i
i = j
j = temp
print(i ,j) 
20 10

上記の場合、数字の入れ替えに3行記入が必要です。

では、

タプルのアンパッキングを利用してみます。
a = 100
b = 200
a, b = b, a
print(a, b) 
200 100

タプルのアンパッキング利用で1行記入ですみました。

 

 
 

コメント