🐍

【Python】複数の変数への同時代入

2020/10/03に公開

概要

Pythonの、複数の変数への同時代入に関する備忘録です。以下では、2つの変数を扱っていますが、もちろん3つ以上にも対応しています。

個別に代入

a = 1
b = 2

print(a)
print(b)
1
2

複数を一度に代入

a,b = 1,2

print(a)
print(b)
1
2

同じ値を一度に代入

a = b = 1

print(a)
print(b)
1
1

複数の変数から複数の変数への代入

a,b = 1,2
a,b = b,a

print(a)
print(b)
2
1

シーケンスオブジェクトの代入(タプル)

tpl = (1,2)
a,b = tpl

print(a)
print(b)
1
2

シーケンスオブジェクトの代入(リスト)

lst = [1,2]
a,b = lst

print(a)
print(b)
1
2

タプルと同じ結果になります。

1つの変数に対して複数の値を代入

tpl=1,2

print(type(tpl))
print(tpl[0])
print(tpl[1])
<class 'tuple'>
1
2

これは()を使わないタプルの生成になります。

タプルのアンパック

tpl=(1,2)
a,b = tpl

print(a)
print(b)
1
2

タプルの要素数と同数の変数を用意することで、タプルをアンパックできます。

以上です。

Discussion