「</h1>
データ セット (tz フィールド) で最も頻繁に発生するタイム ゾーンに関心があるとします。これを行う方法はたくさんあります。まず、リスト内包表記を使用してタイムゾーンのリストを再度抽出しましょう。
In [26]: time_zones = [rec['tz'] for rec in records if 'tz' in rec]
In [27]: time_zones[:10]
Out[27]: [u'America/New_York', u'America/Denver', u'America/New_York', u'America/Sao_Paulo', u'America/New_York', u'America/New_York', u'Europe/Warsaw', u'', u'', u'']
ここで、タイムゾーンごとにカウントを生成するには:
def get_counts(sequence):
counts = {}
for x in sequence:
if x in counts:
counts[x] += 1
else:
counts[x] = 1
return counts
」</h1>
これは教科書からの抜粋です。特定のタイムゾーンの出現回数を見つけるために使用されるループがよくわかりません。誰かが私のために直感的にそれを分解してもらえますか、私は初心者です。
フォローアップの質問:
「</h1>
上位 10 のタイム ゾーンとそのカウントが必要な場合は、ちょっとした辞書アクロバットを行う必要があります。
def top_counts(count_dict, n=10):
value_key_pairs = [(count, tz) for tz, count in count_dict.items()]
value_key_pairs.sort()
return value_key_pairs[-n:]
」</h1>
引用は抜粋を示します。誰か関数 top_counts で何が起こっているのか説明してもらえますか?