【问题标题】:Using element of list as the key of dict in Django template在 Django 模板中使用 list 的元素作为 dict 的键
【发布时间】:2014-09-17 06:37:39
【问题描述】:

当我尝试在 Django 中使用 list 的元素作为 dict 的键时遇到了一些问题。

我的代码如下:

list = ['a', 'b', 'c']
dict = {'a' : 1, 'b' : 2, 'c' : 3}

{% for element in list %}
  {% for key, value in dict %}
    {{ value.element }}
  {% endfor %}
{% endfor %}

问题是dict中没有名为element的键,所以它不会显示正确的值。 正确的结果应该是123

如何在 Django 中使用 list 的元素作为 dict 的键,而不是使用特定的键。

谢谢。

【问题讨论】:

标签: python django dictionary


【解决方案1】:

there 回答了类似的问题。该解决方案使用模板过滤器。

实现您想要的另一种方法是对键的值使用条件:

{% for element in list %}
  {% for key, value in dict %}
    {% if key == element %}{{ value.element }}{% endif %}
  {% endfor %}
{% endfor %}

【讨论】:

  • 有没有if条件有什么区别?
  • 我不确定您真正想要实现什么。我给出的示例将打印“123”。如果没有 if 条件,它将打印字典值的三倍:'123123123'(或以另一种顺序,因为 dict 对象在 Python 中没有排序)。如果您只想获取键“a”的值,请删除列表中元素的循环,并在我的示例中将“元素”替换为“a”。
猜你喜欢
  • 1970-01-01
  • 2016-01-16
  • 2019-11-24
  • 2012-11-21
  • 2019-01-08
  • 2010-12-26
  • 2018-05-08
  • 2016-04-05
  • 2022-06-25
相关资源
最近更新 更多