1

所以对于家庭作业,我必须找到一个或多个单词(由列表给出)出现的行号。到目前为止我有这个

def index(f,l):
   'str,list(str)==nonetype'
    infile=open(f)
    file=infile.read()
    b=file.split('\n')
    G=file.splitlines()
    infile.close
    count=1
    res=0
    c={}
    a=[]
    for i in b:
        a+=[i]
    for n in l:
        while res <len(G):
            small={G[res]:count}
            c.update(small)
            count+=1
            res+=1
            if (a[res] in c) and (n in a[res]):
                print (n+'{}'.format(c[count]))   

所以我到了这里,我得到了错误,因为它超出了范围。我一直在努力,因为现在这一切看起来都像胡言乱语。

4

2 回答 2

1
def index(filename, wordlist):

    # Initialize some variable with meaningful names

    with open(filename) as infile:
        for line in infile:
            # Do something with the line

    return # something

这里还有一些提示可以让你的代码更整洁,但现在可能太高级了enumeratedefaultdict(list)

于 2013-06-05T01:33:44.480 回答
0

因为它的作业我只会帮你一个算法

foreach line in the_file:
     if search_word in line:
        print line_number

这已经离python只有一小步了

于 2013-06-05T01:24:59.263 回答