読者です 読者をやめる 読者になる 読者になる

simudaru's blog

Python, Rなどのメモを残していこうと思います。  よろしくお願いいたします。

zip関数の使い方と、関数への引数としての"*"

zipは、複数のリストをタプルにまとめてくれます。

# -*- coding: utf-8 -*-
key_list = ["aA", "bB", "cC"]
val_list = [1, 2, 3]

print zip(key_list, val_list)
# >>> [('aA', 1), ('bB', 2), ('cC', 3)]

print dict(zip(key_list, val_list))
# >>> {'aA': 1, 'cC': 3, 'bB': 2}
# dictと組み合わせて、2つのリストから簡単に辞書作成。

print zip(*key_list)
# >>> [('a', 'b', 'c'), ('A', 'B', 'C')]

関数の引数に*をつけると、リストを展開してから引数に与えてくれます。
例では、1つ目の引数に["aA", "bB", "cC"]が入るのではなく、
3つの引数"aA", "bB", "cC"が入っています。


基本的なことなのでしょうが、備忘。