如何在Python中迭代列表字典?

5

我有一个Python中的字典列表,例如:

listofobs = [{'timestamp': datetime.datetime(2012, 7, 6, 12, 39, 52), 'ip': u'1.4.128.0', 'user': u'lovestone'}, {'timestamp': datetime.datetime(2012, 7, 6, 12, 40, 32), 'ip': u'192.168.21.45', 'user': u'b'}]

我希望在Django模板中使用listofobs变量的所有键和值。例如:

对于第一次迭代:

timestamp = 7 july 2012, 12:39 Am
ip = 1.4.128.0
user = lovestone

并且对于第二次迭代:
 timestamp = 7 july 2012, 12:40 Am
 ip =  192.168.21.45
 user = b

and so on ..

3个回答

9
for a in listofobs:
    print str( a['timestamp'] ), a['ip'], a['user']

将迭代字典列表,然后在模板中使用它们时,只需将其包装在所需的Django语法中,这与常规Python非常相似。


3
Django模板语法可以让您循环遍历字典列表:
{% for obj in listofobjs %}
    timestamp = {{ obj.timestamp }}
    ip = {{ obj.ip }}
    user = {{ obj.user }}
{% endfor %}

你只需要确保listofobjs在渲染时在你的上下文中即可。

2

查看内置的for模板标签示例。

遍历项目(外层循环):

{% for obj in listofobjs %}
    {# do something with obj (just print it for now) #}
    {{ obj }}
{% endfor %}

然后循环遍历您的字典对象中的项:

{% for key, value in obj.items %}
    {{ key }}: {{ value }}
{% endfor %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接