如何在python中按顺序合并列表中的元素

时间:2016-09-22 18:29:43

标签: python python-2.7

我有一个列表[ 'a' , 'b' , 'c' , 'd']。我如何获得顺序连接两个字母的列表,即在python中ouptut应该是[ 'ab', 'bc' , 'cd']而不是手动循环和加入

2 个答案:

答案 0 :(得分:4)

在列表理解中使用zip

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

或者既然你只想连接两个字符,你也可以使用add运算符,使用itertools.starmap来对字符对应用add函数:

In [14]: from itertools import starmap

In [15]: list(starmap(add, zip(lst, lst[1:])))
Out[15]: ['ab', 'bc', 'cd']

答案 1 :(得分:0)

只需一行代码即可:

a = ['a','b','c','d']
output = [a[i] + a[i+1] for i in xrange(len(a)) if i < len(a)-1]
print output