Python里怎么按数切字符串

有个同事问Python里怎么把字符串按每两个切成一个列表。给了个答案

def splitByNumber(s,n):
  for i in range(0,len(s),n):
  yield s[i:i+n]

用匿名函数可以写成一句话

splitByNumber = lambda s,n: map(lambda x: s[x:x+n],range(0,len(s),n))

结果如下

splitByNumber('fuckgfw',2)
['fu', 'ck', 'gf', 'w']
splitByNumber('fuckgfw',3)
['fuc', 'kgf', 'w']


Last modified on 2009-07-21