2016-04-03 9 views
0

append vs. extend tarafından döndürülen listeyi birleştirin. Burada cevap aldım, sadece eklemek yerine anahtar kelime uzatmak zorundayım."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 

Birden çok dizeye sahip bir dosyam var; her dizenin $ ile başlayan bir kelimesi vardır ve bir dosyadaki $ ile başlayan tüm kelimeleri tek bir Liste (mainList) olarak saklamak istiyorum.
Bu satırı, dosya satırını satır satır okumak için yazdım. Bir satırda $ ile başlayan tüm değerlerle dolu temp dizisi alıyorum ancak tek ana liste olarak re.findall tarafından döndürülen tüm tek listeyi ekleyemiyorum.

cevap

0

reduce(sum, line) deneyin:

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

cevabı ancak sayesinde var. Sadece uzatmak zorundayım. Yani mainlList.extend (temp) –

İlgili konular