Почему значения dict в списке не распечатываются?
Итак, я хочу перебрать несколько списков, каждый из которых имеет один или несколько словарей. Для примера дано:
r = [{"symbol":10},{"symbol":15},{"symbol":25}]
h = [{"sy":15},{"sy":23},{"sk":64}]
i = [{"sl":45},{"sl":67},{"sl":98}]
Я хочу, чтобы он печатал:
Symbol sy sl
10 15 45
15 23 67
25 64 98
Я сделал это на питоне, и это сработало отлично:
for p in r,h,i:
if p == r:
print(p[c]["symbol"])
elif p == h:
print(p[c]["sy"])
elif p == i:
print(p[c]["sl"])
он отлично работает в python. Но при выводе в jinja выводится только первое слово. Я использую флягу для связи с серверной стороной, которая написана на python. Но у меня есть некоторые проблемы с этим в jinja: вот мой код jinja:
{%set c = 0%}
{% for s in symbol,stockname,shares,price,total%}
<tr>
{%if s == symbol%}
<td> {{s[c].symbol}}</td>
{%if s == stockname %}
<td> {{s[c].stockname}}</td>
{%if s == shares %}
<td> {{s[c].shares}}</td>
{%if s == price %}
<td> {{s[c].price}}</td>
{%if s == total %}
<td> {{s[c]["total"]}}</td>
</tr>
{%set c = c + 1%}
{%endif%}
{%endif%}
{%endif%}
{%endif%}
{%endif%}
{%endfor%}
</table>
{% endblock %}```
1 ответ
Я понял. Во-первых, я должен сказать, что я не получил ввода, который хотел, в python. В python, чтобы получить каждый список словарей, выводимых так, как я хотел, мне пришлось использовать этот подход:
r = [{"symbol":10},{"symbol":15},{"symbol":25}]
h = [{"sy":15},{"sy":23},{"sy":64}]
i = [{"sl":45},{"sl":67},{"sl":98}]
c = 0
n = []
for p in r,h,i:
print(r[c]["symbol"])
print(h[c]["sy"])
print(i[c]["sl"])
c+=1