对不起,我不知道如何正确命名这个问题:/我有字母表中每个字母的变量。当我检查每个字母的单词时,我想将 +1 添加到与当前名称相同的字母 im 的变量中。我希望它像这样工作: locals(letter) += 1
2 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
为所有英文字母创建变量并使用它们是不明智的(26 个变量!听起来很大)。
更好的Counter方法:
from collections import Counter
word = 'hello'
print(Counter(word))
# Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
如果您需要计算所有字母:
import string
from collections import Counter
all_letters = string.ascii_lowercase
word = 'hello'
d = dict.fromkeys(all_letters, 0)
d.update(Counter(word))
print(d)
芜湖不芜
TA贡献1796条经验 获得超7个赞
您可以通过执行此操作来访问变量...
locals()[letter]
但是,您需要检查以字符串命名的变量的值这一事实表明一个糟糕的设计选择。
相反,您应该将这些值存储在dict.
letters = {
'a': 0,
'b': 0,
'c': 0,
...
}
letters['a'] += 1
添加回答
举报
0/150
提交
取消