python - 有效删除除重复结束字符之外的所有内容

标签 python strip

有什么有效的方法可以将重复的结束字符保留在给定的数量中? (如反向 strip )(我找不到快速的方法)

例如 数字='184950273400000' print((数字).strip('0')) 结果是1849502734

但我想知道如何有效地删除 0 之前的所有内容,而不是删除 0。所以结果将是 00000。

在这种情况下len(number)将== 5

我想知道是否有类似反向 strip 的东西,因为我正在尝试找到重复末尾数字的长度。

最佳答案

您可以使用reversed函数高效地将字符串生成为倒序序列,这样您就可以使用itertools.takewhile仅输出该字符串的前导字符通过'0'的相等方法等于'0',然后将字符连接起来输出:

from itertools import takewhile
''.join(takewhile('0'.__eq__, reversed(number)))

这可以避免迭代导致尾随零的字符串的任何(可能很长)部分。

关于python - 有效删除除重复结束字符之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54991831/

相关文章:

python - 如何从文本文档中删除\x00字节

python - 根据模板使用空格分割字符串

python - Homebrew python 公式 pip 安装

python - 如何去掉第一个和最后一个双引号?

python - sphinx - 如何更改文档样式表

python - Jinja2 转义除 img、b 等之外的所有 HTML

php - 如何转义/去除 LaTeX 文档中的特殊字符?

Python 剥离字符并组合列表对象

python - 一种使用 numpy 的热编码

python - 如何使用 python 动态展平深度嵌套的 json 文件?