【发布时间】:2016-06-12 11:16:34
【问题描述】:
这是一个列表,原来是字典,由于排序而被转换;
list1 = [
('key1', {'count': 10, 'value1': Counter({'set1': 5, 'set2': 4, 'set3': 1})}),
('key2', {'count': 8, 'value2': Counter({'set1': 6, 'set2': 2})}),
('key3', {'count': 7, 'value3': Counter({'set1': 5, 'set2': 2, 'set3': 1})})
]
我想得到的是每个键的前两个“键”对象(及其计数)和第一个“值”对象(及其计数)。例如,我正在尝试获取以下内容的打印输出;
key1 10
set1 5
key2 8
set1 6
编辑:这是我已经尝试过(并玩过)的方法;
for key, value in sorted_x:
print key, value - only gives key/value as a whole
for key, value in sorted_x:
print key, value[0] - gives keyerror. I've tried a few variations including nested loops.
for key, value in sorted_x.iteritems():
print key, value
我尝试过嵌套循环,并尝试获取列表的某些部分 [1]。但我无法确定我想要的数据并不断收到“解包”错误消息。
【问题讨论】:
-
您的问题是什么?如果您希望我们帮助您编写代码,您应该向我们展示您为解决此问题而编写的代码,以及它如何无法按预期工作。此外,您所说的所需输出与您的描述不符。比如
value1和value2呢? -
我编辑了你的输出。您真的希望“关键”行与“设置”行分开吗?如果没有,只需重新编辑所需的输出。
-
@Tim Pietzcker 我已经编辑过了。我还是 python 新手,确实尝试过一段时间,抱歉我的经验不足。
标签: python list dictionary nested