如何从 ReportLab table 的 python 中的元组列表中提取元素?
How to extract elements from a list of tuples in python for a ReportLab table?
我在创建包含元组列表中的元素的报告实验室 table 时遇到问题。
有输入:
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')
出现在两行中。
关于我做错了什么的任何想法?
您只能从输入中获取最后一个 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]
作为 value
。对这些变量所做的唯一一件事就是我们将它们附加到我们在开始时初始化的列表中。
我在创建包含元组列表中的元素的报告实验室 table 时遇到问题。
有输入:
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')
出现在两行中。
关于我做错了什么的任何想法?
您只能从输入中获取最后一个 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]
作为 value
。对这些变量所做的唯一一件事就是我们将它们附加到我们在开始时初始化的列表中。