May I drop list bracket from list?

subhabrata.banerji at gmail.com subhabrata.banerji at gmail.com
Thu Apr 23 06:33:31 EDT 2015


On Thursday, April 23, 2015 at 3:57:28 PM UTC+5:30, Peter Otten wrote:
>>> > Dear Group,
> > 
> > I am trying to read a list of files as
> > list_of_files = glob.glob('C:\Python27\*.*')
> > Now I am trying to read each one of them,
> > convert into list of words, and append to a list
> > as.
> > 
> > list1=[]
> > for file in list_of_files:
> > print file
> > fread1=open(file,"r").read()
> > fword=fread1.split()
> > list1.append(fword)
> > 
> > Here the list is a list of lists, but I want only one list not
> > list of lists.
> > 
> > I was thinking of stripping it as, str(list1).strip('[]')
> > 
> > but in that case it would be converted to string.
> > 
> > Is there a way to do it. I am using Python27 on Windows7 Professional.
> > Apology for an indentation error.
> > 
> > If anybody may please suggest.
>> You have to understand that the append() method always appends a single item 
> to the list, be that a string or a list or whatever. If you want to append 
> words in a list to the list the logical approach is therefore to loop over 
> the words and invoke append for every word
>> for word in fword:
> list1.append(word)
>> There is also a dedicated extend() method that takes a list (actually an 
> iterable) and appends all items in that list:
>> list1.extend(fword)

Thanks Peter. I tried an example,
>> ll = [['a'], ['b'], ['c']]
>>> l = [x for y in ll for x in y]

I would try your one,too.
Regards,
Subhabrata Banerjee. 


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /