“</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 中发生了什么吗?