我正在处理一个涉及多个if和elif条件的问题..准确地说,我的情况如下:
if len(g) == 2:
a = 'rea: 300'
b = 'ref: "%s": {"sds": 200},"%s": {"sds": 300}' % (g[0],g[1])
elif len(g) == 3:
a = 'rea: 400'
b = 'ref: "%s": {"sds": 200},"%s": {"sds": 300},"%s": {"sds": 400}' % (g[0],g[1],g[2])
....
这个elif条件作用应该上升到elif len(g)==99…所以我想应该有一些优雅的方法来做这个。此外,如果您观察到,“rea”和“ref”正在进行的模式可以表述为:
if len(g) == x:
a = 'rea: (x*100)+100'
b = 'ref: "%s": {"sds": 200},"%s": {"sds": 300},"%s": {"sds": (x*100)+100}' % (g[0],g[1],g[2])
最佳答案
可能是这样的:
g_len = len(g)
a = "rea: {}".format((g_len + 1) * 100)
b = "ref: "
for i, g_i in enumerate(g):
b += ' "{}": {{"sds": {}}},'.format(g_i, (i+2) * 100)