Devkenyalang
Devkenyalang

Reputation: 79

Splitting strings without resulting in 2-D list

How do I split strings in a list without resulting in a 2-D list?

list1:['Ben&Jerry', 'Julia', 'Sally&Don', 'Tom', 'Tracy&Jim']

to output:

['Ben','Jerry','Julia','Sally', 'Don','Tom','Tracy','Jim']

using

flat_list=[s.split('&') if "&" in s else s for s in list1 ]

will give me a 2-D list.

Upvotes: 0

Views: 75

Answers (2)

Camilo Vera
Camilo Vera

Reputation: 61

This should work

[i for j in [i.split('&') for i in list1] for i in j]

Upvotes: 1

Kelly Bundy
Kelly Bundy

Reputation: 27650

Lazy way:

flat_list = '&'.join(list1).split('&')

Upvotes: 6

Related Questions