擅长:python、mysql、java
<p>您的错误消息告诉您一些重要的信息:字典或列表都不是可哈希的,因此不能用作集合的成员。解决这个问题的一种方法是使用数据中电子邮件正文的第0个元素<code>str</code>。你知道吗</p>
<p>您可以基于列表的一个键“uniqify”列表:</p>
<pre><code>>>> seen = set()
>>> [i for i in rm_dict if i['body'][0] not in seen and not seen.add(i['body'][0])]
[{'name': 'rick',
'subject': 'adventure time mortttty buugh',
'body': ['wubba lubba dub dubbb motha f*&^%!']},
{'name': 'morty',
'subject': 're:adventure time mortttty buugh',
'body': ['youre drunk rick!']}]
</code></pre>
<p>这是另一种形式,没有理解力:</p>
<pre><code>>>> seen = set()
>>> emails = []
>>> for i in rm_dict:
... body = i['body'][0]
... if body not in seen:
... emails.append(i)
... seen.add(body)
...
>>> emails
[{'name': 'rick',
'subject': 'adventure time mortttty buugh',
'body': ['wubba lubba dub dubbb motha f*&^%!']},
{'name': 'morty',
'subject': 're:adventure time mortttty buugh',
'body': ['youre drunk rick!']}]
</code></pre>