gpt4 book ai didi

Python:如何打印列表,其中包含列表中每个项目的标签

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:38 25 4
gpt4 key购买 nike

我正在为我的 CSC 入门类(class)做一个 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]

最佳答案

强烈推荐使用 dictionary来存储计数。它将极大地简化您的代码,并使其速度更快。我将把它作为练习留给你,因为这显然是家庭作业。 (其他提示:Counter 更好)。此外,现在您的代码仅适用于小写字母,而不适用于大写字母。您需要添加额外的逻辑来将大写字母视为小写字母,或者单独对待它们。现在你只需忽略它们即可。

话虽如此,以下内容将为您当前的格式完成:

print(', '.join('{}:{}'.format(letter, count) for letter, count in zip(alphabet, total)))

zip接受 n 个列表并生成一个包含 n 个元素的新元组列表,每个元素都来自输入列表之一。 join使用提供的分隔符将字符串列表连接在一起。和format执行字符串插值,以使用格式说明符使用提供的值填充字符串中的值。

关于Python:如何打印列表,其中包含列表中每个项目的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29157123/

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