我正在构建一个程序,将一个特定长度的列表从一个字符串添加到一个更大的列表中。例如,在字符串 "The quick brown fox jumped over the lazy dog "中,如果我把它分成4个列表,我的返回值将是
"[[The, quick, brown, fox], [jumped, over, the, lazy], [dog]]"
我的代码是
text = "The quick brown fox jumped over the lazy dog"
micro = []
count = 1
split = text.split(" ")
total_list = []
for i in range(0, len(split)):
print(split[i], count)
if count < 5:
micro.append(split[i])
print(micro)
if count == 4:
total_list.append(micro)
print(total_list)
micro.clear()
count = 0
count+=1
print(total_list)
我的想法是把文本分割成一个大的列表, 保留一个计数器来添加4组, 然后把较小的分割添加到整个列表中. 因为这个字符串很奇怪,我知道我不会把狗加到最后,鉴于我目前的设置,我不知道如何解决这个问题。我的输出是:第1组
['The']
quick 2
['The', 'quick']
brown 3
['The', 'quick', 'brown']
fox 4
['The', 'quick', 'brown', 'fox']
[['The', 'quick', 'brown', 'fox']]
jumped 1
['jumped']
over 2
['jumped', 'over']
the 3
['jumped', 'over', 'the']
lazy 4
['jumped', 'over', 'the', 'lazy']
[['jumped', 'over', 'the', 'lazy'], ['jumped', 'over', 'the', 'lazy']]
[[], []]
主要是我很困惑,想知道是否有更简单的方法。我希望用这个来分解,以便使用priori。由于我正在处理的数据规模(1100+集与文本〜100字),我想分解,这就是为什么我想要一个列表的列表.我希望整体上不那么密集。
任何帮助将是感激的。谢谢。
你可以使用 range
和数组分片为。
text = "The quick brown fox jumped over the lazy dog"
text = text.split()
result = []
step = 4
for i in range(0, len(text), step):
result.append(text[i: i + step])
result
#[['The', 'quick', 'brown', 'fox'], ['jumped', 'over', 'the', 'lazy'], ['dog']]