python - 如何只删除一次出现的键?
问题描述
我正在尝试编写一个刽子手程序,如果一个单词被猜到,并且所有字母都在字典中,那么我们通过删除字典中单词的所有字母来更新字典。但是,如果我的字典有两个字母(比如 2 个 a),而我的单词只有一个 a,那么所有的 a 都会被删除。但我只想从字典中删除一个 a 。
到目前为止,我已经尝试过使用 pop 和 delete 方法,但它们没有奏效,并删除了所有字母实例。
for i in word:
if i in self.hand.keys():
del self.hand[i]
continue
else:
return False
return True
对于一个测试用例,myHand = Hand(7) 创建一个手,它是一个长度为 7 的字典。然后我通过传递更新手:myHand.update('za'),其中单词是 'za'。我创建了一个假手'aazzmsp'。然而,当我更新手时,生成的新手是 msp,而不是 azmsp,这是因为代码删除了 a 和 z 的所有实例,而它应该只删除一个 a 和一个 z。
解决方案
推荐阅读
- plotly - 与谷歌 colab 合作,
- javascript - 浏览器自动填充保存事件
- python - 编码 2D 列表
- chart.js - 在 ChartJS.Blazor 中逐点着色
- python - sihouette score 返回的样本数不一致
- javascript - 客户端的 Three.js webgl + javascript LAG
- php - PHP file_get_contents($url); 字段仅针对某些 url 打开流
- python - 通过计算熊猫另一列中的不同值来创建新列
- azure-devops - 与 Azure DevOps 集成时出现声纳 qube 错误
- mysql - 一次从 2 个 mysql 表中获取信息