gpt4 book ai didi

python - 计算文本文件中的字母

转载 作者:太空狗 更新时间:2023-10-30 01:48:57 24 4
gpt4 key购买 nike

我是一名初学者 python 程序员,我正在尝试制作一个计算文本文件中字母数量的程序。这是我到目前为止所得到的:

import string 
text = open('text.txt')
letters = string.ascii_lowercase
for i in text:
text_lower = i.lower()
text_nospace = text_lower.replace(" ", "")
text_nopunctuation = text_nospace.strip(string.punctuation)
for a in letters:
if a in text_nopunctuation:
num = text_nopunctuation.count(a)
print(a, num)

如果文本文件包含hello bob,我希望输出为:

b 2
e 1
h 1
l 2
o 2

我的问题是,当文本文件包含多行文本或有标点符号时,它无法正常工作。

最佳答案

使用 Counter 完成您想要的操作是非常可读的方式:

from string import ascii_lowercase
from collections import Counter

with open('text.txt') as f:
print Counter(letter for line in f
for letter in line.lower()
if letter in ascii_lowercase)

您可以迭代生成的字典,以您想要的格式打印它。

关于python - 计算文本文件中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com