每隔第n个字符拆分python字符串迭代起始字符

时间:2016-08-02 18:26:27

标签: python string loops

我正试图找到一种优雅的方法来分割每个第n个字符的python字符串,迭代从哪个字符开始。

例如,假设我有一个包含以下内容的字符串:

ANDTLGY

我想将字符串拆分为一组3个字符,如下所示:

['AND','NDT','DTL','TLG','LGY']

3 个答案:

答案 0 :(得分:5)

简单的方法是将字符串切片与列表推导结合使用:

s = 'ANDTLGY'
[s[i:i+3] for i in range(len(s)-2)]
#output:
['AND', 'NDT', 'DTL', 'TLG', 'LGY']

答案 1 :(得分:3)

a='ANDTLGY'
def nlength_parts(a,n):
    return map(''.join,zip(*[a[i:] for i in range(n)]))

print nlength_parts(a,3)

希望你能向教授解释它是如何运作的;)

答案 2 :(得分:2)

怎么样

a='ANDTLGY'

def chopper(s,chop=3):
     if len(s) < chop:
        return []
     return [s[0:chop]] + chopper(s[1:],chop)

返回

['AND', 'NDT', 'DTL', 'TLG', 'LGY']