假设我有一个Counter
对象:Counter({'test': 2, 'this': 1, 'is': 1})
我想通过以下方式迭代这个对象:
c = Counter({'test': 2, 'this': 1, 'is': 1})
for i,s in my_counter_iterator(c):
print i, ":", s
>> 1 : ['this', 'is']
>> 2 : ['test']
我如何有效地做到这一点(此代码应针对每个请求在 Web 服务器上运行......)?
编辑
我已经尝试过了,但我觉得有更有效的方法。在那里?
from itertools import groupby
for k,g in groupby(sorted(c.keys(), key=lambda x: c[x]),key=lambda x: c[x]):
print k, list(g)
1 ['this', 'is']
2 ['test']