如何剥离python字符串中的所有空格?例如,我希望将strip my spaces这样的字符串转换为stripmyspaces,但我似乎无法用strip()实现这一点:

>>> 'strip my spaces'.strip()
'strip my spaces'

推荐答案

利用str.split没有sep参数的行为:

>>> s = " \t foo \n bar "
>>> "".join(s.split())
'foobar'

如果只想删除空格而不是所有空格:

>>> s.replace(" ", "")
'\tfoo\nbar'

过早优化

尽管效率不是主要目标,但编写清晰的代码还是有一些初始时间安排:

$ python -m timeit '"".join(" \t foo \n bar ".split())'
1000000 loops, best of 3: 1.38 usec per loop
$ python -m timeit -s 'import re' 're.sub(r"\s+", "", " \t foo \n bar ")'
100000 loops, best of 3: 15.6 usec per loop

注意正则表达式是缓存的,所以它不像你想象的那么慢.事先编译它有一些帮助,但只有在实践中,如果你称之为many次:

$ python -m timeit -s 'import re; e = re.compile(r"\s+")' 'e.sub("", " \t foo \n bar ")'
100000 loops, best of 3: 7.76 usec per loop

即使你是.sub的速度要慢11.3倍,记住你的瓶颈肯定在别处.大多数程序都不会注意到这三种 Select 之间的差异.

Python相关问答推荐

如何从同一类的多个元素中抓取数据?

如何在Power Query中按名称和时间总和进行分组

按照行主要蛇扫描顺序对点列表进行排序

覆盖Django rest响应,仅返回PK

Python plt.text中重叠,包adjust_text不起作用,如何修复?

Python中使用时区感知日期时间对象进行时间算术的Incredit

我必须将Sigmoid函数与r2值的两种类型的数据集(每种6个数据集)进行匹配,然后绘制匹配函数的求导.我会犯错

Pandas 第二小值有条件

线性模型PanelOLS和statmodels OLS之间的区别

Deliveryter Notebook -无法在for循环中更新matplotlib情节(保留之前的情节),也无法使用动画子功能对情节进行动画

如何避免Chained when/then分配中的Mypy不兼容类型警告?

按列分区,按另一列排序

Python库:可选地支持numpy类型,而不依赖于numpy

C#使用程序从Python中执行Exec文件

如何使用pytest来查看Python中是否存在class attribution属性?

avxspan与pandas period_range

lityter不让我输入左边的方括号,'

在Python中调用变量(特别是Tkinter)

以逻辑方式获取自己的pyproject.toml依赖项

Python—压缩叶 map html作为邮箱附件并通过sendgrid发送