回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>现在,我很难弄清楚如何获得以下输出</p>
<p><strong>所需输出:</strong></p>
<pre><code> {'Bobby': [set(), set(), set(), {'movie_2'}, set(),{'movie_1'}],
'Carren': [set(), set(), {'movie_4'}, {'movie_2'}, set(), {'movie_1'}],
'Deric': [set(), {'movie_1'}, set(), {'movie_2'}, set(),{'movie_3'}],
'Alec': [set(), {'movie_1'}, {'movie_3'}, set(), set(), {'movie_4'}] }
</code></pre>
<p><strong>我正在使用的词典:</strong></p>
<pre><code>d = {'movie_1': {('Bobby', 5), ('Carren', 5), ('Alec', 1), ('Deric', 1)},
'movie_2': {('Carren', 3), ('Deric', 3), ('Bobby', 3)},
'movie_3': {('Alec', 2), ('Deric', 5)},
'movie_4': {('Carren', 2), ('Alec', 5)} }
</code></pre>
<p>在每个值中,元组表示(person,position)。你知道吗</p>
<p>因此,对于字典<code>d</code>,当您查看键<code>'movie_1'</code>时,第一个值是<code>('Bobby', 5)</code>。你知道吗</p>
<p>然后将键<code>'movie_1'</code>放入列表的第5个索引中。你知道吗</p>
<p><strong>我目前掌握的代码:</strong></p>
<p>我创建了一个包含6个<code>set()</code>项的列表,但我不完全确定从这里要做什么才能获得所需的输出。你知道吗</p>
<pre><code>from collections import defaultdict
d = {
'movie_1': {('Bobby', 5), ('Carren', 5), ('Alec', 1), ('Deric', 1)},
'movie_2': {('Carren', 3), ('Deric', 3), ('Bobby', 3)},
'movie_3': {('Alec', 2), ('Deric', 5)},
'movie_4': {('Carren', 2), ('Alec', 5)},
}
def new_dict(d):
le_dict = defaultdict(set)
values = [set(), set(), set(), set(), set(), set()]
for key, value in d.items():
for person_score in value:
le_dict[person_score[0]].add(key)
return le_dict
</code></pre>