我有这段代码:
visits = defaultdict(int)
for t in tweetsSQL:
visits[t.user.from_user] += 1
我在网上看了一些使用排序方法的例子:
sorted(visits.iteritems, key=operator.itemgetter(1), reverse=True)
但它给了我:
"TypeError: 'builtin_function_or_method' object is not iterable"
我不确定为什么。
答案 0 :(得分:12)
iteritems是一种方法。您需要括号来调用它:visits.iteritems()
。
现在看来,你正在将iteritems方法本身传递给sorted
,这就是为什么它抱怨它无法迭代函数或方法。
答案 1 :(得分:2)
我个人认为其中一种形式更简洁,因为第一个参数只需要是迭代而不是迭代器。
sorted_keys = sorted(visits.keys(), reverse=True)
sorted_keys = visits.keys().sort(reverse=True)