Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to merge the elements in a list sequentially in python

I have a list [ 'a' , 'b' , 'c' , 'd']. How do I get the list which joins two letters sequentially i.e the ouptut should be [ 'ab', 'bc' , 'cd'] in python easily instead of manually looping and joining

like image 426
Rakesh Avatar asked Jan 19 '26 06:01

Rakesh


1 Answers

Use zip within a list comprehension:

In [13]: ["".join(seq) for seq in zip(lst, lst[1:])]
Out[13]: ['ab', 'bc', 'cd']

Or since you just want to concatenate two character you can also use add operator, by using itertools.starmap in order to apply the add function on character pairs:

In [14]: from itertools import starmap

In [15]: list(starmap(add, zip(lst, lst[1:])))
Out[15]: ['ab', 'bc', 'cd']
like image 52
Mazdak Avatar answered Jan 21 '26 22:01

Mazdak