【发布时间】:2015-03-19 23:57:51
【问题描述】:
我正在为我的 Intro to CSC 课程做一个 python 项目。我们得到一个 .txt 文件,它基本上是 200,000 行的单个单词。我们必须逐行读取文件,并计算字母表中每个字母作为单词首字母出现的次数。我已经计算出计数并将其存储在列表中。但现在我需要以格式打印它
"a:10,898 b:9,950 c:17,045 d:10,596 e:8,735
f:11,257 .... "
另一个方面是它必须每行打印 5 个字母计数,就像我在上面所做的那样。
这就是我目前正在使用的......
def main():
file_name = open('dictionary.txt', 'r').readlines()
counter = 0
totals = [0]*26
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for i in file_name:
for n in range(0,26):
if i.startswith(alphabet[n]):
totals[n] = totals[n]+1
print(totals)
main()
此代码当前输出
[10898, 9950, 17045, 10675, 7421, 7138, 5998, 6619, 6619, 7128, 1505, 1948, 5393, 10264, 4688, 6079, 15418, 890, 10790, 20542, 9463, 5615, 2924, 3911, 142, 658]
【问题讨论】:
-
我想我应该补充一下,这就是它目前给我的 [10898, 9950, 17045, 10675, 7421, 7138, 5998, 6619, 6619, 7128, 1505, 1948, 5393, 10264 , 4688, 6079, 15418, 890, 10790, 20542, 9463, 5615, 2924, 3911, 142, 658]