user2639990
user2639990

Reputation:

Converting a list

I have a list similar to the one shown below. Do you have any ideas on how I can convert it to the one in the EXPECTED OUTPUT section below?

list =['username1,username2', 'username3','username4,username5']

EXPECTED OUTPUT:-

list = ['username1','username2', 'username3','username4','username5']

Thanks

Upvotes: 4

Views: 139

Answers (2)

suhailvs
suhailvs

Reputation: 21680

you can also use

>>> alist = ['username1,username2', 'username3','username4,username5']
>>> [j for i in alist for j in i.split(',')]

but @zhangyangyu's method is faster

>>> import timeit
>>> timeit.timeit("[j for i in ['username1,username2', 'username3','username4,us
ername5'] for j in i.split(',')]", number=10000)
0.05875942333452144
>>> timeit.timeit("','.join(['username1,username2', 'username3','username4,usern
ame5']).split(',')", number=10000)
0.023530085527625033

Upvotes: 2

zhangyangyu
zhangyangyu

Reputation: 8610

>>> alist = ['username1,username2', 'username3','username4,username5']
>>> ','.join(alist).split(',')
['username1', 'username2', 'username3', 'username4', 'username5']

By the way, don't use list as the variable name.

Upvotes: 14

Related Questions