python - 从给定字符串中删除 k 个字符后如何找到所有可能的字符串?
问题描述
例如,我们有一个字符串 s = "stackoverflow" 。如果我们删除一个字符,那么我们会得到 "tackoverflow"、"sackoverflow"、"stckoverflow" ......等等。当我们删除 k < len(s) 的 k 个字符时,如何获取所有可能的字符串。
对于给定的要删除的确切字符数和字符串,我们可以通过 for 循环来完成。但是当要删除的字符数不固定时该怎么做。
解决方案
itertools
是你的朋友:
from itertools import combinations
s = "stack overflow"
n_delete = 1
print([''.join(i) for i in combinations(s, len(s) - n_delete)])
推荐阅读
- python - 使用带有 pd.read_sql 类型列表的列
- r - 如何在R中的X轴上制作短线
- javascript - 图像加载功能后 clearRect 功能不起作用
- python - python中带有参数的自定义静态方法装饰器
- excel - 需要在 Sumproduct + Sumif 公式中再添加一个条件
- asp.net-mvc-5 - 更改 quill.js 语法检查器的当前语言
- c# - 将单例类重构为基本泛型类
- css - Css scale 使某些字体因缺少 glyhs/字符而奇怪地调整大小
- r - 将字符转换为日期并在绘图轴上以正确的顺序显示它们
- angular - 'Post' 类型的参数不能分配给'string | 类型的参数 象征'