在Python表达式中使用字符串(表示逻辑运算符)

时间:2014-09-10 20:06:00

标签: python operators expression

是否有可能以某种方式将一个字符串(例如orand)转换为可识别为逻辑运算符的表单?

例如,是否可以执行以下操作:

l = [1, 2, 3, 4, 5]
o = {item1:'or'}

for i in l:
    if i > 4 o[item1] i < 0:
        print i

其中o[item1]被识别为有效的or逻辑运算符?

1 个答案:

答案 0 :(得分:5)

您可以使用operator包:

import operator

o = {item1: operator.or_}

if o[item1](i>4, i<0):
    ...

请注意,or_不会像or那样短路。如果您确实需要短路行为,可以使用eval(但通常不推荐这样做。)