回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>假设我有这样一个列表:</p>
<pre><code>[['John', 1], ['Fred', 1], ['Carolyn', 1], ['Kenneth', 3], ['Ronald', 3], ['Dorothy', 2], ['Joyce', 2], ['Julia', 3], ['Deborah', 1], ['Jonathan', 2], ['Aaron', 2], ['Marie', 1], ['Adam', 2], ['Kevin', 2], ['Alice', 2], ['Jerry', 1], ['Kimberly', 1], ['Lawrence', 1], ['Louis', 2], ['Anthony', 1], ['Carolyn', 3], ['Edward', 2], ['Samuel', 3], ['Rachel', 1], ['Kathleen', 1], ['Fred', 3], ['Fred', 3], ['Gerald', 2], ['Donna', 2], ['Keith', 3], ['Matthew', 3], ['Stephanie', 1]]
</code></pre>
<p>如何获得此输出:</p>
<pre><code>John Dorothy Kenneth
Fred Joyce Ronald
Carolyn Jonathan Julia
Deborah Aaron Carolyn
Marie Adam Samuel
Jerry Kevin Fred
Kimberly Alice Fred
Lawrence Louis Keith
Anthony Edward Matthew
</code></pre>
<p>我要做的是把三个元素分组。如果一个组不是由3个名称组成的,则不会显示该组。你知道吗</p>
<p>另一个例子:</p>
<p>输入:</p>
<pre><code>[['Heather', 2], ['Evelyn', 1], ['Norma', 1], ['Evelyn', 3], ['Harry', 3], ['Sean', 1], ['Anna', 1], ['Jerry', 3], ['Anna', 3], ['Julia', 1], ['Dorothy', 2]]
</code></pre>
<p>预期产量:</p>
<pre><code>Evelyn Heather Evelyn
Norma Dorothy Harry
</code></pre>
<p>到目前为止,我只根据每个数字(1、2、3)将他们的名字分组到子列表中。你知道吗</p>
<pre><code>r = [[] for i in range(3)]
for i in l:
if i[1] == 1:
r[0].append(i[0])
elif i[1] == 2:
r[1].append(i[0])
elif i[1] == 3:
r[2].append(i[0])
print r
r = [['John', 'Fred', 'Carolyn', 'Deborah', 'Marie', 'Jerry', 'Kimberly', 'Lawrence', 'Anthony', 'Rachel', 'Kathleen', 'Stephanie'], ['Dorothy', 'Joyce', 'Jonathan', 'Aaron', 'Adam', 'Kevin', 'Alice', 'Louis', 'Edward', 'Gerald', 'Donna'], ['Kenneth', 'Ronald', 'Julia', 'Carolyn', 'Samuel', 'Fred', 'Fred', 'Keith', 'Matthew']]
</code></pre>