【发布时间】:2019-04-05 00:29:43
【问题描述】:
以下程序代码 sn-p 计算文本字符串的字符频率并写入字典中。字典以字符为键,以频率为值。
text = "asampletextstring"
char_count = {}
for char in text:
if char_count.get(char):
char_count[char] += 1
else:
char_count[char] = 1
我的问题是,是否可以将上面的 sn-p 重写为comprehension?
【问题讨论】:
-
为什么要理解?
-
不理解,但更短:
char_count = Counter(text) -
@mad_ 想把sn-p写的更简洁一些,也想学习
pythonic的做事方式。 @dvnguyen 是的,我知道 Counter,但我认为可能有一种无需导入任何东西的方法...... -
dicts和lists也是pythonic。理解可能会减少一些代码行,但可能不会每次都那么高效
标签: python dictionary-comprehension