首页 > 解决方案 > 按顺序拆分字符串每个可能的拆分

问题描述

我正在为这个 python 脚本的想法而苦苦挣扎:

我有一串字符,比如说abcdefghijklmnopqrstuvwxyz

我需要将它们拆分为一个列表,每个列表包含 7 个字符,从而生成一个包含

[abcdefg], [bcdefgh], [cdefghi], ... , [tuvwxyz]

作为元素。

我有这个方法,但它目前输出

['abcdefg', 'hijklmn', 'opqrstu', 'vwxyz']

...

def chunksOf7(toSplit):
    chunks = [toSplit[i:i+7] for i in range(0, len(toSplit), 7)]
    print(chunks)

有任何想法吗?

标签: python

解决方案


您可以使用列表推导来迭代长度为 7 的字符串的切片。

>>> s = 'abcdefghijklmnopqrstuvwxyz'
>>> [s[i:i+7] for i in range(len(s)-6)]
['abcdefg', 'bcdefgh', 'cdefghi', 'defghij', 'efghijk', 'fghijkl', 'ghijklm', 'hijklmn', 'ijklmno', 'jklmnop', 'klmnopq', 'lmnopqr', 'mnopqrs', 'nopqrst', 'opqrstu', 'pqrstuv', 'qrstuvw', 'rstuvwx', 'stuvwxy', 'tuvwxyz']

推荐阅读