本任务目标:给定abcd生成
['abcd']
['a', 'bcd']
['ab', 'cd']
['abc', 'd']
['a', 'b', 'cd']
['a', 'bc', 'd']
['ab', 'c', 'd']
['a', 'b', 'c', 'd']
即所有可能的分词情况
废话不多说了,下面是代码
from itertools import combinations
senc = ['a','b','c','d']
s = "".join(senc)
# 用于记录切分的位置
cut_index = []
for i in range(0,len(s)):
# 记录所有可能的切分位置
cut_index.extend(combinations(range(1,len(s)),i))
# 取出每种切分情况
for i in cut_index:
begin = 0
output = []
for j in i:
output.append(s[begin:j])
begin = j
output.append(s[begin:])
print(output)