回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>假设我有两本这样的字典。在</p>
<pre><code>a = {'file1': [('1.txt', 1.0),
('3.txt', 0.4),
('2.txt', 0.3)],
'file2': [('1.txt', 0.5),
('2.txt', 0.2),
('3.txt', 1.0)]}
b = {'file1': [('1.txt', 9),
('2.txt', 1),
('3.txt', 5),
('4.txt', 4)],
'file2': [('1.txt', 0),
('2.txt', 2),
('3.txt', 3),
('4.txt', 0)]}
</code></pre>
<p>我编写了一个函数来根据字典a过滤字典b</p>
<p>函数的预期结果如下:</p>
^{pr2}$
<p>到目前为止,我已经编写了一个函数,但它的输出不是我想要的那个。在</p>
<pre><code>def filter():
c = {file1:set((txt1,value2)
for file1,dic1 in a.items()
for file2,dic2 in b.items()
for txt1,value1 in dic1
for txt2,value2 in dic2
if txt1 == txt2 and file1 == file2)
for file1,dic1 in a.items()}
pp({k:v for k,v in c.items()})
</code></pre>
<p>现在输出如下所示:</p>
<pre><code>{'file1': {('1.txt', 0),
('1.txt', 9),
('2.txt', 1),
('2.txt', 2),
('3.txt', 3),
('3.txt', 5)},
'file2': {('1.txt', 0),
('1.txt', 9),
('2.txt', 1),
('2.txt', 2),
('3.txt', 3),
('3.txt', 5)}}
</code></pre>
<p>我不知道哪里出了问题。
任何帮助都将不胜感激。在</p>