如何通过Python defaultdict迭代?

 手机用户2702935897 发布于 2023-01-18 09:27

我有一本看起来像这样的字典.

defaultdict(,
{
 2012: [Counter({1: 1, 2: 1, 4: 1}), 3],
 2013: [Counter({4: 2, 12: 1, 5: 1, 6: 1}), 5],
 2014: [Counter({4: 3, 1: 1, 2: 1, 3: 1}), 6]}
)

我试图通过Counter dict迭代.像这样.

2012
1 1
2 1
1 4
3

2013
4 2
12 1
5 1
6 1
5

这是我试过的代码.

for key, value in d.iteritems():
    for k, v in value:
        print k, v

这是错误:

Traceback (most recent call last):
  File "C:/test.py", line 42, in 
    for k, v in value:
ValueError: too many values to unpack

JINJA2解决方案:

{% extends "base.html" %}
{% block title %}Archive{% endblock %}
{% block content %}

{% for key, value in d.iteritems() %}
{{ key }} ({{ value[1] }})
{% for m, c in value[0].items() %}
{{m|month_number}} ({{ c }})
{{ a }} {% endfor %} {% endfor %}

{%endblock%}

1 个回答
  • >>> for year, (counter, other_thing) in d.items():
    ...     print(year)
    ...     for k, v in counter.items():
    ...         print(k, v)
    ...     print(other_thing)
    ...     print()
    ...     
    2012
    1 1
    2 1
    4 1
    3
    
    2013
    4 2
    12 1
    5 1
    6 1
    5
    
    2014
    1 1
    2 1
    3 1
    4 3
    6
    

    2023-01-18 09:29 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有