Python:如何在.append()函数中输入变量而不是字符串?
这是我的代码:Python:如何在.append()函数中输入变量而不是字符串?,python,Python,这是我的代码: 如果点==4: 执行(“ch”+str(spot)+“=”+“vl”+str(spot)) displayword.append(ch4) 其他: 执行(“ch”+str(spot)+”=“+”” displayword.append((“ch”+str(spot))) 我对orange一词的输出是: 橙色的 ['ch0','ch1','ch2','ch3','g','ch5'] 因此,当我使用displayword.append(ch4)时,我会得到ch4的值,但当我只使用“
如果点==4:
执行(“ch”+str(spot)+“=”+“vl”+str(spot))
displayword.append(ch4)
其他:
执行(“ch”+str(spot)+”=“+””
displayword.append((“ch”+str(spot)))
我对orange一词的输出是:
橙色的
['ch0','ch1','ch2','ch3','g','ch5']
因此,当我使用
displayword.append(ch4)
时,我会得到ch4的值,但当我只使用“ch”+str(spot)
时,我只会得到作为字符串值的值。。我尝试了exec(((“ch”+str(spot))
,但我只得到了None
,因为列表中的值。没有使用很多类似命名的变量;对ch
和vl
使用dict
if spot == 4:
ch["4"] = vl["4"]
else:
ch[spot] = '_'
# Or
# ch[spot] = vl["4"] if spot == 4 else '_'
displayword.append(ch[spot])
更好的方法是使用字典,例如
d={“spot”:“value_of_spot”}
每当你发现自己在使用exec
,你的第一个想法应该是“我做错了什么?”或者“我如何避免使用exec
?”嘿,谢谢你的回答,但是,如何根据字典的类型为vl变量指定字母?因为我用:exec(“vl”+str(spot)+“=”+”“+x_vc+””)给每个字母分配一个变量vl[spot]=x_vc
?是的,我明白了,我的问题是我在定义我的指令和列表,这就是为什么vl[spot]=x_vc行不工作的原因,谢谢你的帮助chep!