Python文件文件,打印列表包含所有以'the'开头的单词

时间:2015-07-04 05:37:00

标签: python search text-files

我必须编写一个代码,列出所有以'the'开头的单词(例如那里,然后是)。但是列表中没有任何重复项。有人可以帮忙吗?这是我到目前为止所做的。

def getbook():
    bookname = input("What is the name of the text file?")
    bookFile = open(bookname, 'r')
    bookString = bookFile.read()
    lowerBook = bookString.lower()
    wordList = lowerBook.split()
    return wordList

import string

def listAllThe(longString):
    theList = []
    for i in longString:
        if i == 'the':
            theList.append( i)
    return theList

def final():
    book = getbook()
    getList = listAllThe(book)
    print (getList)

final()

2 个答案:

答案 0 :(得分:1)

你应该签出set数据类型,它不允许重复,并且在其中搜索是O(1)(常数时间)。

另外,你应该检查string.startswith()函数,如果字符串以作为参数传入的值开始,它将返回true。

然后在listAllThe函数中,您可以使用函数theListset初始化为set(),然后将if条件检查初始化为 - {{1} }。

带有更改的代码看起来像 -

i.startswith('the')

答案 1 :(得分:1)

这是可以通过Python列表理解轻松完成的事情。结果列表可用于初始化set,这将删除重复项:

set([x for x in bookFile.read().lower().split() if x.startswith('the')])