我在创建包含元组列表中元素的reportlab表时遇到问题。
输入:
meta= [('#Instances (Test)', '250'), ('#Instances (Train)', '250')]
我直觉地想这样写:
for key, value in meta:
data = [['Solver', '%s'%(solver_name)],
['%s'%(key), '%s'%(value)],
['%s'%(key), '%s'%(value)]]
meta_data = Table(data, colWidths=None, rowHeights=None, style=None, splitByRow=1,
repeatRows=0, repeatCols=0)
但它只考虑最后一个元组('#Instances (Train)', '250')
出现在两行中。
关于我做错了什么的任何想法?
答案 0 :(得分:0)
您只是从输入中获取最后一个key, value
,因为您每次都在循环中更改整个data
变量。你的意思是这个
data = []
for key, value in meta:
data.append([['Solver', solver_name],[key, value]])
meta_data = Table(data, colWidths=None, rowHeights=None, style=None, \
splitByRow=1,repeatRows=0, repeatCols=0)
在上面的代码中,我将data
变量初始化为空列表,然后遍历meta中的每个元组,将tuple[0]
分配为key
和tuple[1]
作为{ {1}}。对这些变量唯一做的就是将它们附加到我们在开始时初始化的列表中。