回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>Python 3。你知道吗</p>
<p><strong>序言</strong></p>
<p>所以我有一个元素列表,可以这样排序(或任何其他方式):</p>
<pre><code>List = [c, d, a, c, b]
</code></pre>
<p>为了让事情变得更简单:</p>
<pre><code>List = [a, b, c, c, d]
</code></pre>
<p>所以列表可能有重复项,长度在1到10之间。你知道吗</p>
<p>用户将选择一个范围号,例如:</p>
<pre><code>r = 3
</code></pre>
<p>范围号是逻辑的一部分,该逻辑产生的列表数包含长度为1到r的“列表”子序列的所有可能组合。每个组合可以以任何方式排列。考虑到本例中的'List'和'r',用户将得到以下列表选择:</p>
<pre><code>%Lists of length 1.
ListSelection1 = [[a], [b], [c], [c], [d]]
%Lists of length 2.
ListSelection2 = [[a, b], [a, c], [a, c], [a, d], [b, c], [b, c], [b, d], [c, c], [c, d], [c, d]]
%Lists of length 3.
ListSelection3 = [[a, b, c], [a, b, c], [a, b, d], [a, c, c], [a, c, d], [a, c, d], [b, c, c], [b, c, d], [b, c, d], [c, c, d]]
</code></pre>
<p>这些列表将排列在另一个列表中,如下所示:</p>
<pre><code>ListSelections = [ListSelection1, ListSelection2, ListSelection3]
</code></pre>
<p><strong>问题</p>
<p>如何识别“ListSelections”中包含与“List”相同的元素选择的(子)列表的所有可能组合?元素的顺序无关紧要。关于上述示例,可接受的列表组合将是[b,c]和[a,c,d],或[b]+[c]+[d]+[a,c]。你明白了。你知道吗</p>
<p>我需要确定所有正确的列表组合以及这些列表在“ListSelections”中的位置。你知道吗</p>