擅长:python、mysql、java
<p>我对这个问题的看法是利用<a href="https://docs.python.org/3/library/itertools.html#itertools.combinations" rel="nofollow noreferrer">itertools.combinations</a>。你知道吗</p>
<pre><code>import itertools
sent = 'apple is good for health'
sent = sent.split(' ')
# Get indices for spaces
N = range(len(sent) - 1)
for i in N:
# Get all combinations where the space suits
# Note that this doesn't include the option of no spaces at all
for comb in itertools.combinations(N, i + 1):
# Add space to the end of each word
# with index contained in the combination
listsent = [s + " " if j in comb else s for j, s in enumerate(sent)]
# Make the result a string or count the combinations if you like
tempsent = "".join(listsent)
print(tempsent)
</code></pre>