首页 > 解决方案 > python中的列表压缩

问题描述

我正在用python制作一个简单的计算器,我有一个问题,但首先是我的代码。

no1, sin , no2 = [str(no1) for no1 in input().split()]

If sin == "+" :                                                
    print(int(no1) + int(no2)

我的输出是

 5 + 2                                             
 7      

在这里,您可以看到我在 5 、 + 和 2 之间放置了一个空格,但我不想在它们之间放置空格,但如果这样做会显示错误?

标签: pythonlist-comprehension

解决方案


如果对组使用正则表达式, re.split 将在输出中保留分隔符:

re.split(" *(\+) *","5+2")

['5', '+', '2']

当您开始解析多个运算符时,它会更容易使用:

re.split(" *([\+\-\*/]) *","51 + 2*38.5 - 8/2")

['51', '+', '2', '*', '38.5', '-', '8', '/', '2']

推荐阅读