sta*_*n12 3 python string counter dictionary python-2.7
我有一本字典和一个字:
check = {'a': 3, 'e': 1, 'p': 2, 'r': 1, 'u': 1, 't': 1}
word = 'rapturerererer'
Run Code Online (Sandbox Code Playgroud)
如果所有来信word都在,我打算进行测试check.所以我需要保持所有用完的字母的运行计数,并检查最后是否有任何负面信息.
我有代码,但它总是将值限制在0并且永远不会返回负值:
for letter in word:
if check.get(letter):
check[letter] -= 1
print(check)
{'a': 2, 'p': 1, 'r': 0, 'e': 0, 't': 0, 'u': 0}
Run Code Online (Sandbox Code Playgroud)
我期待的是这个:
{'a': 2, 'p': 1, 'r': -5, 'e': -4, 't': 0, 'u': 0}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么它在0处停止这些值吗?
if check.get(letter):
check[letter] -= 1
Run Code Online (Sandbox Code Playgroud)
if check.get(letter)如果letter失踪,不仅会失败; 如果dict中的值是"falsy",它也会失败.None是假的,也是0.一旦它命中0测试失败并且不再发生减量.
请in改用.
if letter in check:
check[letter] -= 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |