我正试图找到一种优雅的方法来分割每个第n个字符的python字符串,迭代从哪个字符开始。
例如,假设我有一个包含以下内容的字符串:
ANDTLGY
我想将字符串拆分为一组3个字符,如下所示:
['AND','NDT','DTL','TLG','LGY']
答案 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']