我有一个包含几个单词的文件,每个文件都在不同的行上。我想在每个单词上取前2个字符,看看每个组合出现多少次。
我处于初始阶段,希望得到一些帮助。输出是:
Enter path to filename :stems.txt
['test\ntester\njest\ncompute\ncomputer\nliterate\nliteral\nliteracy\ncontinue\ncollaborate\n']
test
tester
jest
compute
computer
literate
literal
literacy
continue
collaborate
这是我的代码:
file = raw_input("Enter path to filename :")
text_file= open(file,'r')
data=text_file.read()
def first2():
lines = []
lines.append(data)
print lines
letters = []
for x in lines:
firstletter = x[:2]
return firstletter
print first2()
我想知道为什么返回首字母会返回所有单词而不是每个单词的前两个字母?
答案 0 :(得分:1)
重复一遍:
file = raw_input("Enter path to filename :")
text_file= open(file,'r')
for line in text_file.readlines():
print line[:2]
text_file.close()
答案 1 :(得分:1)
我们可以使用集合包中的Counter对象。
from collections import Counter
txt_file = open("word.txt")
words = txt_file.readlines()
txt_file.close()
letter_pairs = [word[:2] for word in words]
print Counter(letter_pairs)
输出将是:
Counter({'co': 4, 'li': 3, 'te': 2, 'je': 1})