我怀疑你要找的不是一个大的dict,而是一个dict列表,每行一个。例如:dicts = []
for line in sys.stdin:
dicts.append(eval(line))
实际上,我会用^{}(正如^{})文档所建议的那样)来编写这篇文章,*并将其简化为一个列表理解:
^{pr2}$
但是不管怎样,dicts中的每个元素都是dict。所以,要将它们全部打印出来:for d in dicts:
print d
唯一的问题是,你想把它们分类。我不知道你想怎样分类。一般来说,排序字典没有任何意义(这就是为什么python2给您一个无意义的顺序,python3给您一个TypeError)的原因。当然,也有一些特殊的情况,其中有一些有意义的顺序,但每一种情况都是不同的。在
也许在您的例子中,您希望依赖于这样一个事实:每个dict都有一个键,并根据该键进行排序?如果是:for d in sorted(dicts, key=lambda d: d.keys()[0]):
print d
但那只是猜测。在
从评论中:how do I do a count on let say, charcount (it exists in the value part of the dict) of all dictionaries with same key.
如果你想这么做,你有两个选择。在
首先,您可以搜索整个字典列表,如下所示:charcounts = []
for d in dict

这篇博客介绍了如何处理从文件中读取的字典数据,特别是如何将字典列表按键分类和计数。讨论了使用`eval()`和`ast.literal_eval()`函数解析字典,以及通过字典的`keys()`和`values()`来操作数据。还探讨了如何在Python中创建一个多级字典结构,以存储具有相同键的字典的字符计数,并展示了如何将这些计数相加。最后,提供了处理和格式化输出的示例代码。
最低0.47元/天 解锁文章
3361

被折叠的 条评论
为什么被折叠?



