python3 タプルのアンパック

タプルのアンパックの具体例となぜそのように記述できるかについて説明します。

タプルのアンパック

下記の様に書くことで、タプルの各要素を各変数に入れることが出来ます。これをアンパックと言います。
変数1, 変数2, … = タプル
下記コードの1, 2はタプルであり、アンパックされることで、a, bに値が代入されています。

また、リストをタプルの各要素に入れることが出来、タプルのアンパックにも対応しています。

a, b = 1, 2
print(a, b)
"""
出力は下記です。
1 2
"""

tuple1 = [], []
print(type(tuple1))
"""
出力は下記です。
<class 'tuple'>
"""

c, d = [], []
print(type(c), type(d))
print(c, d)
"""
出力は下記です。
<class 'list'> <class 'list'>
[] []
"""

各要素がリストであるタプルのアンパックは、複数のリストの初期化に活用できます。下記コードは一例です。

n = int(input())
a, b = [], []
for i in range(n):
    t1, t2 = map(int, input().split())
    a.append(t1)
    b.append(t2)
print(a)
print(b)

"""
入力は下記です。
3
8 5
4 4
7 9

出力は下記です。
[8, 4, 7]
[5, 4, 9]
"""

参考リンク

Python Unpacking Tuples By Examples (pythontutorial.net)

Unpack a tuple / list in Python | note.nkmk.me

コメント

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