字典理解和创建期间检查键

Guu*_*Guu 1 python dictionary list-comprehension

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

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
Run Code Online (Sandbox Code Playgroud)

所以这可行,但对我来说,至少在Python中,这看起来真的很难看.我尝试了不同的理解方式.有没有办法通过理解来做到这一点?我尝试在创建过程中使用locals(),但这似乎真的很慢,而且如果我已经理解了正确的东西,本地人将包括启动理解的范围内的所有内容,使事情变得更加困难.

Fel*_*ing 7

Python 2.7中,您可以使用Counter:

from collections import Counter

with open("gibrish.txt", 'r') as file:
    chrDict = Counter(f.read())
Run Code Online (Sandbox Code Playgroud)