回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两本字典</p>
<pre><code>runde = {
"A": ["1, 2, 3", "4, 5, 6"],
"B": ["1, 2, 3", "4, 5, 6"],
"C": ["1, 2, 3", "4, 5, 6"],
"D": ["1, 2, 3", "4, 5, 6"],
}
bilete = {
"B": ["1, 2, 3", "4, 5, 6"],
"C": ["1, 2, 3", "4, 5, 6"],
}
</code></pre>
<p>我想从runde中减去bilete,得到结果</p>
<pre><code>runde = {
"A": ["1, 2, 3", "4, 5, 6"],
"B": [],
"C": [],
"D": ["1, 2, 3", "4, 5, 6"],
}
</code></pre>
<p>代码</p>
<pre><code>for key in runde:
if key in bilete:
b = bilete[key]
for a in b:
runde[key].remove(a)
</code></pre>
<p>这段代码运行良好,但在我的情况下,在first.remove之后,结果是</p>
<pre><code>{'A': ['4, 5, 6'],'B': ['4, 5, 6'],'C': ['4, 5, 6'],'D': ['4, 5, 6']}
</code></pre>
<p>第二次之后。移除结果为</p>
<pre><code>{'A': [],'B': [],'C': [],'D': []}
</code></pre>
<p>然后我得到错误值error:list.remove(x):x不在列表中</p>
<p>这是我的情况,任何帮助都将不胜感激:</p>
<pre><code>import pickle
# here is my variables saved: import.pkl
# https://drive.google.com/file/d/1SbJm9J5dFQgc1H6m8C6epqDLAs2m15lS/view?usp=sharing
with open('import.pkl', 'rb') as f:
runde, bilete = pickle.load(f)
for key in runde:
if key in bilete:
b = bilete[key]
for a in b:
runde[key].remove(a)
</code></pre>