在python中将字符串划分为块

在python中将字符串划分为块,python,Python,我使用从语料库中提取的单词编写代码,然后标记它们并与句子进行比较。输出是单词包(如果单词在句子1中,如果不是0) 在本例中,输出字符串的长度为100个字符。我想把它分成任意长度的块,并给它分配块号。例如: print(i+1, chunk_id, bow, sep="\t", end="\n", file=f) 其中i+1将是句子id。为了形象化我的意思,让我们选取长度为12>>“110010101111”和“01101100011”的字符串。它应该是这样的: 1 1 1100 1 2 010

我使用从语料库中提取的单词编写代码,然后标记它们并与句子进行比较。输出是单词包(如果单词在句子1中,如果不是0)

在本例中,输出字符串的长度为100个字符。我想把它分成任意长度的块,并给它分配块号。例如:

print(i+1, chunk_id, bow, sep="\t", end="\n", file=f)
其中i+1将是句子id。为了形象化我的意思,让我们选取长度为12>>“110010101111”和“01101100011”的字符串。它应该是这样的:

1 1 1100
1 2 0101
1 3 1111
2 1 0110
2 2 1100
2 3 0011

来自的grouper函数似乎就是您要寻找的:

def grouper(iterable, n, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

被骗者谈论的是列表,但解决方案也适用于字符串。
def grouper(iterable, n, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)