繁体   English   中英

在 mustache / pystache 中迭代字典的键和值

[英]Iterating over keys and values of a dictionary in mustache / pystache

假设我有这样的简单字典:

d = {'k1':'v1', 'key2':'val2'}

如何使用该字典在 pystache 中呈现key, value行?

你必须改变你的字典。 使用小胡子语法,你只能通过字典的名单重复,所以你的字典d有可能成为一个列表,其中每个键值对d与键和值作为两个独立的项目,像这样一本字典:

>>> [{"k": k, "v": v} for k,v in d.items()]
[{'k': 'key2', 'v': 'val2'}, {'k': 'k1', 'v': 'v1'}]

完整的示例程序:

import pystache

tpl = """\
{{#x}}
 - {{k}}: {{v}}
{{/x}}"""

d = {'k1':'v1', 'key2':'val2'}

d2 = [{"k": k, "v": v} for k,v in d.items()]
pystache.render(tpl, {"x": d2})

输出:

 - key2: val2
 - k1: v1

你也可以使用元组,稍微不那么冗长:

import chevron

tpl = """\
{{#x}}
 - {{0}}: {{1}}
{{/x}}"""

d = {'k1':'v1', 'key2':'val2'}

d2 = [(k, v) for k,v in d.items()]
print(chevron.render(tpl, {"x": d2}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM