
82
第 4 章 シーケンスとコンテナ型
['a', 'bb', 'ccc']
同様に、変数名の先頭に
*
を付けて
*
変数名と指定すると、複数の要素をリストに格納して、一
つの変数で受け取るように指定できます。
>>> L = [(1, 2), (3, 4, 5), (6, 7, 8, 9)]
>>> [car*sum(cdr) for car, *cdr in L] #
先頭の要素×
(2
番目以降の要素の和
)
[2, 27, 144]
別の例として、年と月を組み合わせたタプルのリストを作成する例を考えてみます。
>>> years = [2013, 2014]
>>> months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> dest = []
>>> for y in years:
... for m in months:
... dest.append((y, m))
>>> dest
[(2013, 1), (2013, 2), (2013, 3), (2013, 4), (2013, 5), (2013, 6),
(2013, 7), (2013, 8), (2013, 9), (2013, 10), (2013, 11), (2013, 12),
(2014, 1), (2014, 2), (2014, 3), (2014, 4), (2014, 5), (2014, 6),
(2014, 7), (2014, 8), (2014, 9), (2014, ...