Skip to main content
 首页 » 编程设计

python之词典理解和创建过程中的键检查

2025年05月04日11rubylouvre

我有这个任务来读取一个文件,将每个字符存储在一个字典中作为键并为每个找到的键增加值,这导致代码如下:

chrDict = {} 
with open("gibrish.txt", 'r') as file: 
    for char in file.read(): 
        if char not in chrDict: 
            chrDict[char] = 1 
        else: 
            chrDict[char] += 1 

所以这工作正常,但对我来说,至少在 Python 中,这看起来真的很难看。我尝试了不同的理解方式。有没有办法通过理解来做到这一点?我尝试在创建过程中使用 locals(),但这似乎真的很慢,而且如果我理解正确的话,locals 会将所有内容都包含在理解启动的范围内,这让事情变得更难了。

请您参考如下方法:

在 Python 2.7 中,您可以使用 Counter :

from collections import Counter 
 
with open("gibrish.txt", 'r') as file: 
    chrDict = Counter(f.read())