【发布时间】:2021-09-10 21:18:28
【问题描述】:
这是字符串:
st = 'abcdfdedf'
我想将字符串拆分为 3 个子字符串并获得所有组合:
result = [['abc','dfd','edf'],['abcd','f','dedf'], ...]
注意:这里的顺序并不重要。
【问题讨论】:
这是字符串:
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']]
【讨论】: