如何在5个列表中添加5组(15组)值(总共45组)

2024-09-26 22:53:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难相信这个问题还没有得到回答,但我没能找到它

我的程序通过进行5次试验来分析一个事件,每次试验的输入略有不同。该程序按预期工作,但我认为list_to_DataFrame部分是多余的

每个列表/变量都包含它所包含/所属的试验的名称(t1/t2)

t1x = []
t2x = []

t1x.append(b1s)
t1x.append(b2s)
t1x.append(adj.b1r_t1)
t1x.append(b1w_t1)
t1x.append(adj.b2r_t1)
t1x.append(b2w_t1)
t1x.append(bcs_t1)
t1x.append(winloss_t1)
t1x.append(losswin_t1)

t2x.append(b1s)
t2x.append(b2s)
t2x.append(adj.b1r_t2)
t2x.append(b1w_t2)
t2x.append(adj.b2r_t2)
t2x.append(b2w_t2)
t2x.append(bcs_t2)
t2x.append(winloss_t2)
t2x.append(losswin_t2)

什么策略可以最有效地将这些值附加到相应的列表中


Tags: 程序列表t1appendt2adjbcsb1s
1条回答
网友
1楼 · 发布于 2024-09-26 22:53:16

使用eval()的方法:

t1x = []
t2x = []

for n in ['1','2']:
    for s in ['b1s','b2s',f'adj.b1r_t{n}',f'b1w_t{n}',f'adj.b2r_t{n}',f'b2w_t{n}',f'bcs_t{n}',f'winloss_t{n}',f'losswin_t{n}']:
        eval(f't{n}').append(eval(s))

或者,使用exec()

for n in ['1','2']:
    exec(f"t{n}x = [b1s,b2s,adj.b1r_t{n},b1w_t{n},adj.b2r_t{n},b2w_t{n},bcs_t{n},winloss_t{n},losswin_t{n}]")

不建议使用eval和exec,请先阅读此article

相关问题 更多 >

    热门问题