擅长:python、mysql、java
<p>下面将创建一个字典,将每个作者的名字映射到他们所写的书籍的<code>list</code>。这是使用名为<a href="https://docs.python.org/3/library/collections.html#collections.defaultdict" rel="nofollow">^{<cd2>}</a>的内置字典类型的专门化来完成的,该类型在<code>collections</code>模块中定义。你知道吗</p>
<pre><code>from collections import defaultdict
from pprint import pprint
books = [['Shakespeare', 'William', 'Rome And Juliet', '5', '5.99'],
['Shakespeare', 'William', 'Macbeth', '3', '7.99'],
['Dickens', 'Charles', 'Hard Times', '7', '27.00'],
['']]
d = defaultdict(list)
for book in (book for book in books if book[0]):
d[book[0], book[1]].append(book[2:])
pprint(d)
</code></pre>
<p>输出:</p>
<pre class="lang-none prettyprint-override"><code>{('Dickens', 'Charles'): [['Hard Times', '7', '27.00']],
('Shakespeare', 'William'): [['Rome And Juliet', '5', '5.99'],
['Macbeth', '3', '7.99']]}
</code></pre>