Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何在.append()函数中输入变量而不是字符串?_Python - Fatal编程技术网

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!