我从用户那里收到了三个字符串。
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而不是创建字符串列表?
我从用户那里收到了三个字符串。
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而不是创建字符串列表?
P,Q,R = "x","y","z"
x,y,z = 1,2,3
F=[eval(P),eval(Q),eval(R)] #evals to [1,3]
可以正常工作,如果您已经用正确的名称定义了变量。
但是请注意,例如,在注释和here中提到的,这是一种不好的做法:
- 几乎总是有一种更好的方法
- 非常危险和不安全
- 使调试变得困难
- 慢
@anentropic建议使用更安全的替代方法,例如ast.literal_eval
。