python - 获取在 Python 中将字符串拆分为 3 个子字符串的所有组合
问题描述
这是字符串:
st = 'abcdfdedf'
我想将字符串拆分为 3 个子字符串并获取所有组合:
result = [['abc','dfd','edf'],['abcd','f','dedf'], ...]
注意:这里的顺序并不重要。
解决方案
除非我误解了这个问题,否则跟踪两个拆分位置是一件简单的事情。例如:
from pprint import pprint
st = 'abcdfdedf'
n = len(st)
splits = []
for i in range(1, n-1):
for j in range(i+1, n):
splits.append([st[0:i], st[i:j], st[j:]])
pprint(splits)
这导致
[['a', 'b', 'cdfdedf'],
['a', 'bc', 'dfdedf'],
['a', 'bcd', 'fdedf'],
['a', 'bcdf', 'dedf'],
['a', 'bcdfd', 'edf'],
['a', 'bcdfde', 'df'],
['a', 'bcdfded', 'f'],
['ab', 'c', 'dfdedf'],
['ab', 'cd', 'fdedf'],
['ab', 'cdf', 'dedf'],
['ab', 'cdfd', 'edf'],
['ab', 'cdfde', 'df'],
['ab', 'cdfded', 'f'],
['abc', 'd', 'fdedf'],
['abc', 'df', 'dedf'],
['abc', 'dfd', 'edf'],
['abc', 'dfde', 'df'],
['abc', 'dfded', 'f'],
['abcd', 'f', 'dedf'],
['abcd', 'fd', 'edf'],
['abcd', 'fde', 'df'],
['abcd', 'fded', 'f'],
['abcdf', 'd', 'edf'],
['abcdf', 'de', 'df'],
['abcdf', 'ded', 'f'],
['abcdfd', 'e', 'df'],
['abcdfd', 'ed', 'f'],
['abcdfde', 'd', 'f']]
推荐阅读
- c# - 如何更改 Html.DisplayFor 布尔结果的颜色
- excel - 将excel中的百分比值限制在0%到100%之间
- android - 如何在 TextView (Android) 中启用垂直自动滚动
- python - 如何确定卫星是否进行了机动?
- solr - 是否可以保护 Apache Solr 8.5.1 仪表板页面而不是查询页面?
- python - 从网站获取名称时出现错误
- python - 如何在 Flask 中为 http 调用提供值列表?
- python-3.x - 从阿拉伯语文本输出的空 WordCloud PNG
- selenium - java.io.IOException: Stream closed at runner.testrunner.tearDownClass - 尝试使用 Cucumber 和 TestNG 并行执行
- ip - 如何在 192.168.0.0/16 上执行 IP 子网划分?