2017-04-10 5 views
-2

サンプルファイルの単語のスペルが間違っていて、2つのリストを一緒にループする方法がわかりません。ここでは、コードがあります:あなたは(トップがちょうどヘルパー関数です)とdict.txtは、すべての可能な単語だけの長いリストであるPythonのスペルが間違っているファイルから単語を印刷する

def cleanWords(wlist): 
    ret=[] 
    for word in wlist: 
     cleanword = word.strip('?.,;:!\'-"\n()') 
     ret.append(cleanword.lower()) 
    return ret 

f = open('dict.txt', 'r') 
lines = f.readlines() 
cleanlistdic = cleanWords(lines) 

inword = raw_input("Enter a file name: ") 
g = open(inword, 'r') 
lines2 = g.readlines() 
cleanlistfile = cleanWords(lines2) 

# this part is where i get stuck 
for line in cleanlistfile: 
    for j in cleanlistdic: 
     if line not in cleanlistdic: 
      print line 

答えて

0

内部ループ(あなたがjを使ったことがないことで証明されたように)無意味です。

lineごとに、単一ループが必要です。cleanlistdicにない場合は、それを印刷してください。

+0

そして今、それはただのすべてを印刷しているがテストファイルの単語。助言がありますか? –

+0

クリーンリストファイルの行: if(cleanlistdictには行がありません): print line –

0

あなたは、このタスクを達成するために、リストの内包表記を使用することができます:あなたはループのために使用することができ、あなたはそれぞれの行を印刷する場合は

desired_lines = [line for line in cleanlistfile if line not in cleanlistdic] 

を:

for line in desired_lines: 
    print line 
関連する問題