<p>另一种方法是将其转换为字典:</p>
<pre><code>d = {}
for k,v in l: #l is your list
if d[k]:
d[k].append(v)
else:
d[k] = v
</code></pre>
<p>输出:</p>
<pre><code>{'Krishna': ['CSE 1310'], 'Dylan': ['CSE 1310'], 'Ashley': ['IE 3312', 'PHYS 1443'], 'Baron': ['PHYS 1443'], 'Timothy': ['MATH 2325', 'IE 3301'], 'James': ['IE 3301', 'PHYS 1443'], 'Pramod': ['PHYS 1444', 'PHYS 1443'], 'Michael': ['IE 3301'], 'Sol': ['CSE 1310'], 'Nang': ['PHYS 1443'], 'Christopher': ['IE 3301', 'CSE 1320', 'PHYS 1443'], 'Adam': ['PHYS 1443'], 'Henry': ['PHYS 1444'], 'Saroj': ['IE 3301', 'MATH 1426'], 'Luis': ['CSE 1310'], 'Jonathan': ['IE 3312'], 'August': ['PHYS 1444']}
</code></pre>
<p>然后,打印它:</p>
<pre><code>>>> for k,v in d.items(): #iterates through d
print(k, end=' ')
for i in v:
print (i, end=" ")
print()
</code></pre>
<p>输出:</p>
<pre><code>Krishna CSE 1310
Dylan CSE 1310
Ashley IE 3312 PHYS 1443
Baron PHYS 1443
Timothy MATH 2325 IE 3301
James IE 3301 PHYS 1443
Henry PHYS 1444
Michael IE 3301
Sol CSE 1310
Nang PHYS 1443
August PHYS 1444
Christopher IE 3301 CSE 1320 PHYS 1443
Adam PHYS 1443
Pramod PHYS 1444 PHYS 1443
Luis CSE 1310
Saroj IE 3301 MATH 142
</code></pre>
<p>将其存储在字典中也比存储在多维数组中更快、更高效。看看这个:</p>
<pre><code>>>> timeit("""[['Adam', ['PHYS 1443']],
['Ashley', ['IE 3312', 'PHYS 1443']],
['August', ['PHYS 1444']],
['Baron', ['PHYS 1443']],
['Christopher', ['IE 3301', 'CSE 1320', 'PHYS 1443']],
['Dylan', ['CSE 1310']],
['Henry', ['PHYS 1444']],
['James', ['IE 3301', 'PHYS 1443']],
['Jonathan', ['IE 3312']],
['Krishna', ['CSE 1310']],
['Luis', ['CSE 1310']],
['Michael', ['IE 3301']],
['Nang', ['PHYS 1443']],
['Pramod', ['PHYS 1444', 'PHYS 1443']],
['Saroj', ['IE 3301', 'MATH 1426']],
['Sol', ['CSE 1310']],
['Timothy', ['MATH 2325', 'IE 3301']]]""")
5.6225116937032311
>>> timeit("""{'Krishna': ['CSE 1310'], 'Dylan': ['CSE 1310'], 'Ashley': ['IE 3312', 'PHYS 1443'], 'Baron': ['PHYS 1443'], 'Timothy': ['MATH 2325', 'IE 3301'], 'James': ['IE 3301', 'PHYS 1443'], 'Pramod': ['PHYS 1444', 'PHYS 1443'], 'Michael': ['IE 3301'], 'Sol': ['CSE 1310'], 'Nang': ['PHYS 1443'], 'Christopher': ['IE 3301', 'CSE 1320', 'PHYS 1443'], 'Adam': ['PHYS 1443'], 'Henry': ['PHYS 1444'], 'Saroj': ['IE 3301', 'MATH 1426'], 'Luis': ['CSE 1310'], 'Jonathan': ['IE 3312'], 'August': ['PHYS 1444']}
""")
3.4978408664244967
</code></pre>