Python 将字符串列表转换为表名

Python 将字符串列表转换为表名,python,type-conversion,Python,Type Conversion,我试图在这个for循环中生成表。我一直在想我需要做什么才能让tablenames中的字符串成为表的名称 tablenames = ['t_10', 't_20', 't_30', 't_40', 't_50', 't_60', 't_70', 't_80', 't_90', 't_100'] firstrow = ['10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%'] for t, r, in zip(ta

我试图在这个for循环中生成表。我一直在想我需要做什么才能让tablenames中的字符串成为表的名称

tablenames = ['t_10', 't_20', 't_30', 't_40', 't_50', 't_60', 't_70', 't_80', 't_90', 't_100']
firstrow = ['10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%']

for t, r, in zip(tablenames, firstrow):
    t = [[r, '']]    
这就是我最后所做的-我知道,这并不漂亮我知道有一种方法可以生成我想要的空间数…它只是不合作…而且,cond1和cond0列表很奇怪

t_10 = [['10%', '', '', '', '', '', '', '', '', '','','','']]
t_20 = [['20%', '', '', '', '', '', '', '', '', '','','','']]
t_30 = [['30%', '', '', '', '', '', '', '', '', '','','','']]
t_40 = [['40%', '', '', '', '', '', '', '', '', '','','','']]
t_50 = [['50%', '', '', '', '', '', '', '', '', '','','','']]
t_60 = [['60%', '', '', '', '', '', '', '', '', '','','','']]
t_70 = [['70%', '', '', '', '', '', '', '', '', '','','','']]
t_80 = [['80%', '', '', '', '', '', '', '', '', '','','','']]
t_90 = [['90%', '', '', '', '', '', '', '', '', '','','','']]
t_100 = [['100%', '', '', '', '', '', '', '', '', '','','','']]


tnames = [t_10, t_20, t_30, t_40, t_50, t_60, t_70, t_80, t_90, t_100]

cond1 = [conditions_list[0], conditions_list[2], conditions_list[4], conditions_list[6], conditions_list[8]]
cond0 = [conditions_list[1], conditions_list[3], conditions_list[5], conditions_list[7], conditions_list[9]]

for t, c1, c0 in zip(tnames,cond1,cond0):
    c1_results = process_exhaust(c1,1)
    c0_results = process_exhaust(c0, 0)    
    t.append(c1_results[0])
    t.append(c1_results[1])
    t.append(c1_results[2])
    t.append(c0_results[0])
    t.append(c1_results[3])
    t.append(c0_results[1])

试图以编程方式创建变量名通常是个坏主意。您可以使用exec来完成,但更好的方法是使用字典

D = {t: [r,] for t, r in zip(tablenames, firstrow)}

现在你可以做D[t_10]来获得你想要的输出。

你想要的输出是什么?t_10将是['10%,]]基本上,我想要10个表,每个表的名称与tablenames中的字符串相同。所谓表,你是指列表列表吗?用表['t_10']而不是仅仅t_10'引用表是否有问题?以“'开头变量是否不好?我最终想要的是一个表,而不是一个字典。我正在尝试使用ReportLab生成pdf。也许您可以告诉我们您希望如何将数据填充到表中。您显示第一排。如何填写其余部分?其余部分将填充函数返回的列表。总的来说,我正在从.csv文件中提取一个数组,并创建一个包含各个列的字典。然后,我确定了我需要的数据的具体指数,并进行了我需要的计算。它只有10个表,我可以单独创建它们,我只是希望找到一种不用重复代码的方法。