为了账号安全,请及时绑定邮箱和手机立即绑定

Python 3 如何查找命名为字符串的变量?

Python 3 如何查找命名为字符串的变量?

牧羊人nacy 2021-09-11 15:30:01
对不起,我不知道如何正确命名这个问题:/我有字母表中每个字母的变量。当我检查每个字母的单词时,我想将 +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)


查看完整回答
反对 回复 2021-09-11
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

您可以通过执行此操作来访问变量...


locals()[letter]

但是,您需要检查以字符串命名的变量的值这一事实表明一个糟糕的设计选择。


相反,您应该将这些值存储在dict.


letters = {

    'a': 0,

    'b': 0,

    'c': 0,

    ...

}


letters['a'] += 1


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信