List Problem : "Want to get a single list"

Question:

I want to count words from a dataframe. First I convert the dataframe’s column to a list named "lst". and the list is here-

['তাদের উত্তরের মধ্যে সামরিকতার ঝাঁজ ছিল',
 'ফোন করে যা শুনেছি তা তো মানুষ জানে আমরা তো এগুলো শুনতে অভ্যস্ত না']

Then I try this code-

lst1 = []
count=0

for i in lst:
  count += 1
  lst1.append(i.split(' '))

count

and the result of lst1[:2] is –

[['তাদের', 'উত্তরের', 'মধ্যে', 'সামরিকতার', 'ঝাঁজ', 'ছিল'],
 ['ফোন',
  'করে',
  'যা',
  'শুনেছি',
  'তা',
  'তো',
  'মানুষ',
  'জানে',
  'আমরা',
  'তো',
  'এগুলো',
  'শুনতে',
  'অভ্যস্ত',
  'না']]

But I want to a list where all words are in a single list. I want like this-

['তাদের', 'উত্তরের', 'মধ্যে', 'সামরিকতার', 'ঝাঁজ', 'ছিল', 'ফোন','করে','যা','শুনেছি','তা',......,'না']

How can I do this? What should I change to get this?

Asked By: tonoy

||

Answers:

i.split(' ') returns an array which you then append to an array making an array of arrays. I think you want something like lst1.concat

for i in lst:
  count += 1
  lst1.concat(i.split(' '))
Answered By: Richard Barker

Just try this. Here I use extend function. extend() is the function extended by lists in Python and hence can be used to perform this task. This function performs the inplace extension of the list. So it takes one by one from the "lst1" and adds to the final list.

lst_final = []

for i in lst1:
  lst_final.extend(i)
Answered By: Samrat Alam

You can use list.extend() method to get a single list in the end.

lst = ['তাদের উত্তরের মধ্যে সামরিকতার ঝাঁজ ছিল',
 'ফোন করে যা শুনেছি তা তো মানুষ জানে আমরা তো এগুলো শুনতে অভ্যস্ত না']

lst1 = []
count=0

for i in lst:
    lst1.extend(i.split(' '))

Output:
['তাদের', 'উত্তরের', 'মধ্যে', 'সামরিকতার', 'ঝাঁজ', 'ছিল', 'ফোন', 'করে', 'যা', 'শুনেছি', 'তা', 'তো', 'মানুষ', 'জানে', 'আমরা', 'তো', 'এগুলো', 'শুনতে', 'অভ্যস্ত', 'না']

Answered By: Ahmed Javed
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.