May I drop list bracket from list?

Peter Otten __peter__ at web.de
Thu Apr 23 12:26:41 CEST 2015


subhabrata.banerji at gmail.com 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)





More information about the Python-list mailing list