リストやタプルの unpack
この記事は Python Tips Advent Calendar 2012 12日目の記事です。
Python のリストやタプルは、展開した上で代入といったことができます。
>>> a, (b, c), d = [(1, 2), (3, 4), (5, 6)] >>> print a (1, 2) >>> print b 3 >>> print c 4 >>> print d (5, 6)
更に、関数定義時に展開して代入するという指定もできます。
>>> def f((a, b), (c, d)): ... print a, b, c, d >>> f((1, 2), (3, 4)) 1 2 3 4
Python3 なら、リストやタプルの一部だけ取ってくることも可能です。
>>> first, second, *rest, last = (1, 2, 3, 4, 5, 6, 7, 8) >>> print first 1 >>> print second 2 >>> print rest [3, 4, 5, 6, 7] >>> print last 8
.