列表是两次打印索引值

时间:2016-01-30 01:03:19

标签: python list

我必须打印出列表的第二个元素以及计数。但是我的输出显示的是实际数据元素数量的两倍。该怎么办?

必需输出(计数) - > 27 我的输出(计数) - > 54

示例数据: http://www.pythonlearn.com/code/mbox-short.txt

fname = raw_input("Enter file name: ")

fh = open(fname)

count = 0
lst=list()
for line in fh:
    if line.startswith('From'):
        data=line.split()
        print data[1]
        count=count+1
print "There were", count, "lines in the file with From as the first word"

1 个答案:

答案 0 :(得分:0)

您正在尝试匹配From,结果为54.尝试匹配From:并使用open结构: fname = raw_input("输入文件名:") 使用open(fname,' rb')作为fn:     count = 0     lst = []     对于fn中的行:         如果line.startswith(' From:'):             print line.split()[1]             count + = 1 打印"文件中有",count,"行,其中From为第一个单词" 你正在做的事情有一个较短的版本: fname = raw_input("输入文件名:") 使用open(fname,' rb')作为fn:     l = [line.split()[1]表示fn中的行,如果是line.startswith(' From:')] 打印" \ n" .join(l) 打印"文件中有",len(l),"行,其中From为第一个单词"