将一个字符串拆分成两组

时间:2014-10-02 11:12:47

标签: python string split

我想将一个字符串分成两组,例如

['abcdefg'] 

['ab','cd','ef']

这是我到目前为止所做的:

string = 'acabadcaa\ndarabr'
newString = []

for i in string:
    newString.append(string[i:i+2])

5 个答案:

答案 0 :(得分:2)

使用正则表达式的一个选项:

>>> import re
>>> re.findall(r'..', 'abcdefg')
['ab', 'cd', 'ef']

re.findall返回字符串中所有非重叠匹配的列表。 '..'表示匹配任意两个连续字符。

答案 1 :(得分:1)

def splitCount(s, count):
     return [''.join(x) for x in zip(*[list(s[z::count]) for z in range(count)])]

splitCount('abcdefg',2)

答案 2 :(得分:0)

将字符串s拆分为长度为n的(保证的)同等长子串的列表,并截断较小的片段:

n = 2
s = 'abcdef'
lst = [s[i:i+n] for i in xrange(0, len(s)-len(s)%n, n)]

['ab', 'cd', 'ef']

答案 3 :(得分:0)

此功能将获得chunk

def chunk(s,chk):
    ln = len(s)
    return [s[i:i+chk] for i in xrange(0, ln - ln % chk, chk)]  

 In [2]: s = "abcdefg"

In [3]: chunk(s,2)
Out[3]: ['ab', 'cd', 'ef']

In [4]: chunk(s,3)
Out[4]: ['abc', 'def']

In [5]: chunk(s,5)
Out[5]: ['abcde']

答案 4 :(得分:0)

试试这个

s = "abcdefg"
newList = [s[i:i+2] for i in range(0,len(s)-1,2)]