
37
2.4 実際の相違点
def fibonacci(n):
x, y = 0, 1
for i in range(n):
print(x)
x, y = y, x + y
展開した変数のいずれかを無視したければ、アンダースコアを使います。
winner = 'Albert Einstein', 'Physics', 1921, 'Swiss'
name, _, _, nationality = winner
タプル展開は
Python
の基本的機能で多くの用途があります。しかし
JavaScript
では利用できま
せん。
2.4.4
コレクション
最も便利な
Python
の「武器」の
1
つに
collections
モジュールがあります。このモジュール
は、
Python
の標準的なセットを拡張する特殊なコンテナデータ型を提供します。
collections
に
は
deque
があり、両端に対して高速に追加や削除を行うリストのようなコンテナを提供します。
OrderedDict
は、エントリが追加された順序を記憶します。
defaultdict
は、ディクショナリのデ
フォルトを設定するファクトリ関数を提供します。そして、ハッシュ可能なオブジェクトを数える
ための
Counter
コンテナもあります。私は最後の
3
つをよく使います。以下にいくつかの例を示
します。
from collections import Counter, defaultdict, OrderedDict
items = ['F', 'C', 'C', 'A', 'B', ...