擅长:python、mysql、java
<p>好吧,我想我明白了。这就是你要找的吗?在</p>
<pre><code>>>> list_string = [ "aaa", "bb", "cc", "dd", "ee"]
>>> str_len = 6
>>> [[''.join(list_string[:i]), ''.join(list_string[i:])] for i in xrange(len(list_string)) if all(1 <= len(s) <= str_len for s in [''.join(list_string[:i]), ''.join(list_string[i:])])]
[['aaabb', 'ccddee']]
</code></pre>
<p>它生成所有可能的组合,这些组合可能与字符串的一个分区一起工作。以下是所有可能的结果:</p>
^{pr2}$
<p>编辑:下面是一个使用<code>filter</code>但不会在表达式中重复结果两次的版本,并且格式更好:</p>
<pre><code>>>> filter(
lambda res: all(1 <= len(s) <= str_len for s in res),
[[''.join(list_string[:i]), ''.join(list_string[i:])]
for i in xrange(len(list_string))])
[['aaabb', 'ccddee']]
</code></pre>