gpt4 book ai didi

python - 如何从文本文档中选择最大长度相等的单词

转载 作者:行者123 更新时间:2023-11-30 22:49:34 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来读取文本文档并输出文档中最长的单词。如果有多个最长的单词(即全部长度相等),那么我需要按照它们出现的顺序输出它们。例如,如果最长的单词是狗和猫,您的代码应该生成:

狗猫

我无法找到如何选择多个最大长度相等的单词并打印它们。据我所知,我只是在努力思考如何选择具有相同最大长度的所有单词:

打开文件进行读取

fh = open('poem.txt', 'r')

longestlist = []
longestword = ''

for line in fh:
words = (line.strip().split(' '))
for word in words:
word = ''.join(c for c in word if c.isalpha())
if len(word) > (longestword):
longest.append(word)

for i in longestlist:
print i

最佳答案

好吧,首先,您可能应该使用 with as 语句,它只是简化了事情并确保您不会搞砸。所以

fh = open('poem.txt', 'r')

变成了

以 open('poem.txt','r') 作为文件:

由于您只关心单词,因此您不妨从一开始就使用内置函数:

    words = file.read().split()

然后你只需设置一个最大字长计数器(初始化为0)和一个空列表。如果该单词超出了最大长度,请设置新的最大长度并重写列表以仅包含该单词。如果它等于最大长度,则将其包含在列表中。然后只需打印出成员列表即可。如果您想包含一些检查,例如 .isalpha(),请随意将其放入代码的相关部分。

maxlength = 0
longestlist = []
for word in words:
if len(word) > maxlength:
maxlength = len(word)
longestlist = [word]
elif len(word) == maxlength:
longestlist.append(word)
for item in longestlist:
print item

-MLP

关于python - 如何从文本文档中选择最大长度相等的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39693099/

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