【发布时间】:2015-05-14 20:25:47
【问题描述】:
所以这就是交易。我有一些用于创建电子邮件的日志文件。我使用列出日志文件内容的 jinja 模板。但是,我决定添加一些数据指标,以显示最近几天日志的变化。好的
我的数据保存为 csv 文件,我将它们加载为元组列表,格式为 [ ('string',int,int), (...) ] 我知道如何使用列表比较“字符串”索引的理解,如果它们相等,则检查元组中的最后一个 int。如果该整数更大,我添加一个小箭头表示增加,如果较低,则显示一个减少箭头。
到目前为止,我有一些我想做的事情。例如,这是在 jinja 模板文件中填充我的表的一段代码
{% for f,r,u in data %}
<tr>
<td class="tg-031e"><span style="color:blue;font-weight:bold">▲</span>{{f}}</td>
<td class="tg-031e">{{r}}</td>
<td class="tg-031e">{{u}}</td>
</tr>
{% endfor %}
如果比较结果小于,我还没有添加条件以显示向下箭头。
我想出了一个非常糟糕的函数来测试列表的比较。我对它的效果没有信心。
def change(l1, l2):
inc = [x[0] for x,y in zip(l1,l2) if x[0] == y[0] and x[2] > y[2] ]
dec = [x[0] for x,y in zip(l1,l2) if x[0] == y[0] and x[2] < y[2] ]
yield inc, dec
我想要一种方法来比较这两个列表的第三个整数,并动态地将跨度添加到表中,以说明增加或减少。谢谢你,我希望我问的正确。
【问题讨论】:
标签: python list jinja2 list-comprehension