擅长:python、mysql、java
<p>使用<em>itertools.combinations_与_替换</em>生成一个类似的列表</p>
<pre><code>from itertools import combinations_with_replacement
input_list = [1,2,3,4,5,6]
l = [list(combination_with_replacement(input_list, i)) for i in range(5)]
res = [list(filter(lambda x: sum(x) == 4, i)) for i in l]
# [[], [(4,)], [(1, 3), (2, 2)], [(1, 1, 2)], [(1, 1, 1, 1)]]
</code></pre>