回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试从列表列表中筛选出唯一的项,并尝试了以下操作:</p>
<p>数据:<code>sent_list = [['cleverness', 'wit'],['the', 'best', 'story'],['best', 'story'],['wit']]</code></p>
<p>我试过:</p>
<pre><code>word_set = set()
for sent in sent_list:
for word in sent:
word_set.update(word)
word_set
</code></pre>
<p>产出为:</p>
<pre><code>{'b', 'c', 'e', 'h', 'i', 'l', 'n', 'o', 'r', 's', 't', 'v', 'w', 'y'}
</code></pre>
<p>但预期的代码和结果是:</p>
<pre><code>word_set = set()
for sent in sent_list:
word_set.update(sent)
word_set
{'best', 'cleverness', 'story', 'the', 'wit'}
</code></pre>
<p>我使用第一个“for”循环访问主列表中的每个子列表,然后使用第二个“for”循环访问子列表中的每个单词,但似乎我的理解是错误的。另外,在正确的代码中,如果列表直接更新为set,set应该包含列表,不是吗?
请帮助我理解这个概念</p>