加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – jinja2:按定义的键顺序排序dict?

发布时间:2020-12-20 11:43:13 所属栏目:Python 来源:网络整理
导读:所以我想说我想显示一些这样的数据: ? b is foo? a is bar? c is baz …但我的数据集看起来像这样(或任何其他顺序,因为JSON不关心): {"a": "bar","b": "foo","c": "baz"} 如何告诉Jinja2按键顺序显示我的数据?如果我不确定元素c是否总是存在,该怎么办?
所以我想说我想显示一些这样的数据:

? b is foo
? a is bar
? c is baz

…但我的数据集看起来像这样(或任何其他顺序,因为JSON不关心):

{
"a": "bar","b": "foo","c": "baz"
}

如何告诉Jinja2按键顺序显示我的数据?如果我不确定元素c是否总是存在,该怎么办?

我认为这将是这样的,无济于事:

<ul>
{% for key,value in my_dict.items()|dictsort(by=['b','a']) %}
    <li>{{ key }} is {{ value }}</li>
{% endfor %}
</ul>

解决方法

您可以遍历硬编码的密钥列表:

<ul>
{% for key in ('b','a','c') %}
    {% if key in my_dict %}
    <li>{{ key }} is {{ my_dict[key] }}</li>
    {% endif %}
{% endfor %}
</ul>

不存在的密钥由if测试处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读