假设我有一个单词列表,如下所示:
['The', 'Quick', 'Brown', 'Fox', 'Jumps', 'Over', 'The', 'Lazy', 'Dog']
Run Code Online (Sandbox Code Playgroud)
我想生成一个列表列表,每个数组包含3个单词,但每个单元都有一个可能的三元组.所以看起来应该是这样的:
['The', 'Quick', 'Brown']
['Quick', 'Brown', 'Fox']
['Brown', 'Fox', 'Jumps']
Run Code Online (Sandbox Code Playgroud)
等等.得到这个结果的最佳方法是什么?
>>> words
['The', 'Quick', 'Brown', 'Fox', 'Jumps', 'Over', 'The', 'Lazy', 'Dog']
>>> [words[i:i+3] for i in range(len(words) - 2)]
[['The', 'Quick', 'Brown'], ['Quick', 'Brown', 'Fox'], ['Brown', 'Fox', 'Jumps'], ['Fox', 'Jumps', 'Over'], ['Jumps', 'Over', 'The'], ['Over', 'The', 'Lazy'], ['The', 'Lazy', 'Dog']]
Run Code Online (Sandbox Code Playgroud)