我知道我可以 try-excepteval本身,但我想在 list_comprehensions 或map:
[eval(x) if isevaluable(x) else x for x in some_list]
Run Code Online (Sandbox Code Playgroud)
我这样做的动力是:我从 sys.argv 得到参数 - 它可以是 int\float\built-in-constants(尤其是 True、False、None)。我想以一种简单而干净的方式将它们全部投射出来。
[注意:safe-eval 不是这里的问题(即使确实推荐)]