用于检查字符串中的运算符的函数

时间:2019-02-02 07:11:44

标签: python python-3.x operators

我正在尝试编写一个程序,该程序将识别字符串中的运算符并显示它。我想知道是否有任何函数可以检查字符串中的运算符。就像我们有string.punctuation用于标点符号

我尝试将一些运算符放在列表中,并尝试将其与字符串进行比较。

op = ["+", "-", "*", "/", "<", ">", " ", "="]    
exp = input("Enter the expression: ")     
tokens = exp.split()     
for x in tokens:         
    if x in op:    
        print("operator: ", x)

我得到了预期的结果,但是只是想知道是否有一个函数可用于检查字符串中的运算符。

1 个答案:

答案 0 :(得分:0)

我不知道有什么比您做的更好的方法。但是,如果您只想检查运算符的存在,并且性能是您的考虑因素,那么我建议使用集合交集:

op = {"+","-","*","/","<",">"," ","="}
exp = input("""Enter the expression: """)     
tokens = set(exp)
print(tokens.intersection(op))

对于像"+++ *** 2 < 3"这样的输入,打印值将是:

{' ', '+', '*', '<'}