通过dict键返回原始表达式?

2024-04-18 23:54:00 发布

您现在位置:Python中文网/ 问答频道 /正文

dct={'t1':2>1,'t2':'a'=='b'}

dct值为真或假。使用dct['t1']时,它将返回True。但是我想返回原始表达式,这意味着'2>1'(类型是string)

  • Python版本:3.7

Tags: 版本true类型string表达式dctt1t2
1条回答
网友
1楼 · 发布于 2024-04-18 23:54:00

将对用Python编写并执行的表达式进行求值,它不再作为表达式存在。也就是说x = 1 + 2将值3赋值给x,没有记忆表明这是计算1 + 2的结果

但是就像在源代码中一样,可以将表达式保存为字符串。毕竟,这就是您的源代码,只是一个长文本字符串

因此:

dct = {'t1': "2>1", 't2': "'a'=='b'"}
print(dct['t1'])
print(eval(dct['t1']))

但是,请记住eval()只应在您确实需要跟踪此类内容的情况下使用。通常,使用eval()是没有效率的,并且可能非常危险,这取决于这些字符串来自何处

相关问题 更多 >