2016-04-03 10 views
0

append vs. extend。私はここで答えを得ました。私はちょうど追加の代わりにキーワードを使用する必要があります。`re.findall()によって返されたリストを結合します。

def extractDollar(line): 
     global mainList 
     temp=[] 

     #lowercasing all the string 
     line=line.lower() 

     #storing all word starting with $ in a line in temp 
     #then adding that to existing list mainList 
     #to form a single list and removing empty value 
     temp= re.findall(r'$\w+',line) 

     mainList=mainList+[j for i in zip(mainList,temp) for j in i] 
     mainList= filter(None, mainList) 

     return line 

複数の文字列を含むファイルがあります。各文字列には$で始まる単語があり、$で始まるすべての単語を単一のList(mainList)としてファイルに保存したいとします。
ファイルを1行ずつ読み込むためにこの関数を書きました。私はtemp配列に$で始まるすべての値が1行に入っていますが、re.findallによって返されたすべての単一リストを単一のメインリストとして追加することはできません。

答えて

0

reduce(sum, line)をお試しください:

def extractDollar(line): 
     global mainList 
     temp=[] 

     #lowercasing all the string 
     line=line.lower() 

     #storing all word starting with $ in a line in temp 
     #then adding that to existing list mainList 
     #to form a single list and removing empty value 
     temp= re.findall(r'$\w+',line) 

     mainList=mainList+[j for i in zip(mainList,temp) for j in i] 
     mainList= filter(None, mainList) 

     return reduce(sum,line) 
+0

私は答えが、感謝を得ました。私は拡張を使用する必要があります。だからmainlList.extend(temp) –

関連する問題