【发布时间】:2019-01-17 04:52:26
【问题描述】:
我有一本字典和一个词:
check = {'a': 3, 'e': 1, 'p': 2, 'r': 1, 'u': 1, 't': 1}
word = 'rapturerererer'
如果来自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}
我期待的是这样的:
{'a': 2, 'p': 1, 'r': -5, 'e': -4, 't': 0, 'u': 0}
谁能解释为什么这些值在 0 处停止?
【问题讨论】:
-
if 0计算结果为False- 将条件更改为if check.get(letter) is not None
标签: python string python-2.7 dictionary counter