Python 代入

テーマ:

基本の代入については ☞ 代入と変数 で扱いました。それ以外を紹介します。

代入

アンパック代入

変数へ値を代入する場合、x,y = 16,25 が可能です。これと同じように、複数の値(データ)をリストに一度で代入したり、逆にそこから値を個々に取り出したりして代入することができます。

リストから代入

>>> List = [1,4,9]
>>> x,y,z = List
>>> x
1
>>> y
4
>>> z
9

まとめ代入 *変数

残りの要素をまとめて代入することができます。

>>> List = [3,1,4,1,5]
>>> x,*y,z = List
>>> x
3
>>> y
[1, 4, 1]
>>> z
5

「*」がついた変数に残りの要素がリストとして代入されます。「*」は「残りの全ての」の意味なので、複数回使うことはできません。

「_(アンダースコア)」を使うことで、必要ない値を省くことができます。

>>> List = [3,1,4,1,5]
>>>> x,*_,z = List
>>> x
3
>>> z
5

同時代入

>>> x = y = z = 1
>>> x
1
>>> y
1
>>> z
1

入れ替え

>>> x,y = 1,99
>>> print(x,y)
1 99
>>> x,y = y,x
>>> print(x,y)
99 1

 

文字列やタブル、ディクショナリでも同様な代入方法が可能です。