2014-03-31 418 views
0

用於線在file2.splitlines(): 用於升在file1.splitlines(): 如果線路在升: 打印升for循環和嵌套for循環

+4

什麼是你到底想幹什麼?打印每個文件的行? – dursk

+2

請舉例:你得到了什麼?你想要什麼?謝謝 – sshashank124

+0

你能用英文寫出你想要的輸出是什麼嗎? – dursk

回答

1

創建字典出在第二行的文件將是一個更快的解決方案,它將擺脫重複的太多:

from collections import defaultdict 

second_file = open('second.txt') 
second_file_dict = defaultdict(int) 
first_file_dict = defaultdict(int) 

for line in second_file: 
    second_file_dict[line.strip()] += 1 
second_file.close() 

first_file = open('first.txt') 
for line in first_file: 
    if line in second_file_dict and not in first_file_dict: 
     print line 
    first_file_dict[line.strip()] += 1   
first_file.close() 
1
print list(set(file2.splitlines()) & set(file1.splitlines())) 
+0

'splitlines()'返回一個列表,'&'操作符不用於名單。你的意思是把這些轉換成集合? –

+0

@ F.J:是的,我當時做過,但我忘了趕時間:)這就是爲什麼我把整個表達式轉換成'list',如果我沒有想到集合,這將是沒有意義的。 – bosnjak