如何从Django查询集制作的python字典中获取计数?

时间:2016-03-01 10:42:56

标签: python django dictionary

这些是我使用变量获得的命令和输出。

>>tags_list = list(tags_list)
>>print (tags_list)
[<Tag: Book needed>, <Tag: Book needed>, <Tag: Lab important>, <Tag: Easygoing>, <Tag: Book needed>, <Tag: Tough quizzes>, <Tag: Important lectures>, <Tag: Book needed>, <Tag: Tough quizzes>]

tags_list是使用itertools.chain连接Django查询集的列表。

>>tags = Counter(tags_list)
>>print (tags)
Counter({<Tag: Book needed>: 4, <Tag: Tough quizzes>: 2, <Tag: Important lectures>: 1, <Tag: Lab important>: 1, <Tag: Easygoing>: 1})

现在,我正在使用collections.Counter来计算查询集并将其转换为字典。

>>for tag in tags:
      >>print tag

Book needed
Tough quizzes
Important lectures
Lab important
Easygoing

所以现在我正在从我奇怪的字典中打印单个标签。 但是,我希望输出是这样的

Book needed (4)
Tough quizzes (2)
Important lectures (1)
Lab important (1)
Easygoing (1)

我该怎么做?我不确定字典中的键是什么,我的意思是它们是django对象,但我不确定如何访问它们。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

计数器就像一个普通的字典;当你迭代它时,它会给你钥匙。如果您也想要这些值,请迭代.items()

for tag, count in tags.items():
      print "{} ({})".format(tag, count)

答案 1 :(得分:2)

您只打印字典键(标签),但您也可以访问值(计数):

maven