如何在Python中将字符串“ x”转换为变量x?

我从用户那里收到了三个字符串。

P=...
Q=...
R=...

它们可以包括x,y,z和+,-,*,^,/

运算符

我想形成一个列表,F=[P,Q,R]例如,如果用户给定P = x,Q = y,R = z,则相应的列表将为F = [x,y,z]。 我会以字符串形式接收它们

P="x"
Q="y"
R="z"

现在如何像前面提到的那样创建F而不是创建字符串列表?

buyitgo 回答:如何在Python中将字符串“ x”转换为变量x?

P,Q,R = "x","y","z"
x,y,z = 1,2,3
F=[eval(P),eval(Q),eval(R)] #evals to [1,3]

可以正常工作,如果您已经用正确的名称定义了变量。

但是请注意,例如,在注释和here中提到的,这是一种不好的做法:

  
      
  1. 几乎总是有一种更好的方法
  2.   
  3. 非常危险和不安全
  4.   
  5. 使调试变得困难
  6.   
  7.   

@anentropic建议使用更安全的替代方法,例如ast.literal_eval

本文链接:https://www.f2er.com/3159715.html

大家都在问