1

我正在做一个项目。就总行数、分离和排序以及总字母数而言,我已经能够完成所有要求的事情。我遇到的问题是列出每个单词的长度。示例:the: 3, it: 2, and etc...我不是想知道它在文本文件中出现了多少次。

i=open("words.txt").read().splitlines()

f= len(open("words.txt").readlines())

t= sorted (i)

e= "\n".join(t)

g= sum(len(e) for e in (i))

非常感谢有关如何为每个单词设置单词长度的任何帮助。

4

4 回答 4

2

这应该是您正在寻找的:

string = open('file.txt').read()

for word in string.split():
    print len(word)
于 2013-07-07T21:52:25.860 回答
0

你可以这样做:

>>> with open('/usr/share/dict/words','r') as f:
...    print(max(f,key=len))
... 
formaldehydesulphoxylate

然后取它的长度:

>>> with open('/usr/share/dict/words','r') as f:
...    longest=max(f,key=len)
... 
>>> print(len(longest))
25
于 2013-07-07T22:01:26.777 回答
0

这假设每一行都有许多单词,用空格分隔。

with open('words.txt') as my_file:
    words = []
    for line in my_file:
        words.extend(line.split())
print {w: len(w) for w in words)}

或者:

with open('words.txt') as my_file:
    print {w: len(w) for w in words.split() for words in line for line in my_file}
于 2013-07-07T21:52:27.033 回答
0

不确定它是否最佳,但如果每个单词都用空格分隔,这应该可以工作:

i=open("words.txt").read().splitlines()

[[len(k) for k in j.split(' ')] for j in i]
于 2013-07-07T21:57:25.413 回答