python - 一次删除字符串中的一个字符

标签 python

基本上,如果一个字符出现多次,我想一次删除一个字符串。

例如:- 如果我有单词 abaccea 和字符“a”,那么函数的输出应该是 baccea、abacce、abccea。

我读到我可以为 a 和空字符串制作 maketrans,但它会替换字符串中的每个 a。

除了记录列表中的所有位置然后替换和生成单词外,还有其他有效的方法吗?

最佳答案

这是一个快速的方法:

In [6]: s = "abaccea"
In [9]: [s[:key] + s[key+1:] for key,val in enumerate(s) if val == "a"]
Out[10]: ['baccea', 'abccea', 'abacce']

通过简单地用圆括号替换方括号,能够将其变成生成器是有好处的。

关于python - 一次删除字符串中的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4379570/

相关文章:

python - 为什么我的 python 程序在 eclipse/pydev 中调试这么慢?

python - 根据另一个数据框的列值过滤数据框

python - Aptana (eclipse) 无法识别对 .bashrc 中编写的 PATH 的修改

python - 如何 grep 查找 unicode 字符?

python - 您将如何测试这个功能?

python - python 中继承的替代方案

python - HoughLinesP 未检测到预期的线条

python - 无法在场景中正确定位 QGraphicsRectItem

python 3 如何将另一个列表中的项目追加到列表中

python - 在 numpy 中将 2 个图像堆叠在一起