我知道可以将一个列表连接成一个长字符串,如下所示:
x = ['a', 'b', 'c', 'd'] print ''.join(x)
显然,这将输出:
'abcd'
但是,我想做的就是简单地将列表中的第一个和第二个字符串连接起来,然后连接第三个和第四个字符串,依此类推。简而言之,从上面的示例中取而代之的是:
['ab', 'cd']
有没有简单的方法可以做到这一点?我可能还应该提到,列表中字符串的长度以及列表中字符串的数量都是不可预测的,尽管字符串的数量始终是偶数。因此原始列表也可能是:
['abcd', 'e', 'fg', 'hijklmn', 'opq', 'r']
您可以通过以下步骤使用切片符号:
>>> 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']
同样的逻辑也适用于列表。字符串长度无关紧要,因为您只是将两个字符串加在一起。