假设我有 yml 格式的数据:
testdata:
- name: others
marks:
- subject: physics
marks: 60
- name: midterm
marks: []
- name: final
marks:
- subject: math
mark: 70
- subject: chemistry
mark: 80
我需要的是
- 拒绝空列表
[]
- 然后获取所有标记的列表,例如
期望的输出:
[
{ subject: physics
marks: 60
},
{ subject: math
mark: 70
},
{ subject: chemistry
mark: 80
}
]
请帮帮我
最佳答案
{{ testdata|map(attribute='marks')|sum(start=[]) }}
或仅使用sum
(对于 Jinja >= 2.6)
{{ testdata|sum(attribute='marks', start=[]) }}
关于jinja2 - 如何使用 jinja2 过滤器过滤掉空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592554/