自从几个月前开始学习python以来,我一直对使用简单的代码可以完成复杂任务的方式着迷。
所以,我一直在尝试做这样的事情,
list = [1,2,3,4]
statement = ''
if len(list) > 4:
statement = '[x for x in list if x%%2 == 0]'
else:
//do something else
我知道这不会起作用,因为上面的声明只是一个字符串,但是我希望您对正在尝试做的事情有所了解,并希望您可以提出建议。
答案 0 :(得分:0)
我认为您正在搜索评估函数:
Python eval() eval()方法解析传递给该方法的表达式,并在程序中运行python表达式(代码)。
简单来说,eval()方法运行python代码( 在程序中作为参数传递。
eval()的语法是:
eval(expression, globals=None, locals=None)
eval()参数: eval()具有三个参数:
-expression-该字符串作为Python进行解析和评估 表达式
-globals(可选)-字典
-locals(可选)-a 映射对象。字典是标准且常用的映射 输入Python。全局和本地的用法将在后面讨论 在本文中。
返回 eval()中的值
eval()方法返回从表达式求值的结果。
示例:
x = 1 print(eval('x + 1'))
list = [1,2,3,4,5]
statement = ''
if len(list) > 4:
statement = '[x for x in list if x%2 == 0]'
else:
pass
print(eval(statement)) # [2, 4]