小编典典

连接列表中的元素对

python

我知道可以将一个列表连接成一个长字符串,如下所示:

x = ['a', 'b', 'c', 'd']
print ''.join(x)

显然,这将输出:

'abcd'

但是,我想做的就是简单地将列表中的第一个和第二个字符串连接起来,然后连接第三个和第四个字符串,依此类推。简而言之,从上面的示例中取而代之的是:

['ab', 'cd']

有没有简单的方法可以做到这一点?我可能还应该提到,列表中字符串的长度以及列表中字符串的数量都是不可预测的,尽管字符串的数量始终是偶数。因此原始列表也可能是:

['abcd', 'e', 'fg', 'hijklmn', 'opq', 'r']

阅读 157

收藏
2020-12-20

共1个答案

小编典典

您可以通过以下步骤使用切片符号:

>>> x = "abcdefghijklm"
>>> x[0::2] #0. 2. 4...
'acegikm'
>>> x[1::2] #1. 3. 5 ..
'bdfhjl'
>>> [i+j for i,j in zip(x[::2], x[1::2])] # zip makes (0,1),(2,3) ...
['ab', 'cd', 'ef', 'gh', 'ij', 'kl']

同样的逻辑也适用于列表。字符串长度无关紧要,因为您只是将两个字符串加在一起。

2020-12-20