如何基于索引拆分python字符串?

如何基于索引拆分python字符串?,python,Python,我需要遍历一个列表,并为该列表中的每个元素创建两个子列表:当前元素之前的两个元素的子列表,以及当前元素之后的两个元素的子列表 for word in line.split(): \\ create sublist of the two words before word \\ create sublist of the two words after word 我不知道如何做到这一点,并将感谢帮助。我知道您通常可以执行列表[:5],但我不确定如何选择与当前索引相关的元素。要查看列表中的每个项目

我需要遍历一个列表,并为该列表中的每个元素创建两个子列表:当前元素之前的两个元素的子列表,以及当前元素之后的两个元素的子列表

for word in line.split():
\\ create sublist of the two words before word
\\ create sublist of the two words after word

我不知道如何做到这一点,并将感谢帮助。我知道您通常可以执行列表[:5],但我不确定如何选择与当前索引相关的元素。

要查看列表中的每个项目,只需执行以下操作:

list = ['red', 'blue']
for item in range(len(list)):
    print(list[item])

您可以使用
enumerate()
迭代索引和元素,然后使用切片

words = line.split()
for i, word in enumerate(words):
    print("word:", word)
    print("before:", words[i-2:i])
    print("after:", words[i+1:i+3])
输出:

word: I
before: []
after: ['would', 'like']
word: would
before: ['I']
after: ['like', 'a']
word: like
before: ['I', 'would']
after: ['a', 'hamburger']
word: a
before: ['would', 'like']
after: ['hamburger']
word: hamburger
before: ['like', 'a']
after: []

我想这就是你要找的东西

line = "I would like a hamburger"
lst = line.split()
for index, word in enumerate(lst):
    print(lst[index-2:index],lst[index+1:index+3])

你能举个例子吗?如果单词是列表中的第一项,会发生什么情况?如果我的行是“我想要一个汉堡”,我需要遍历该行,并为每个单词创建一个包含当前单词前后两个单词的子列表。因此,当我当前的单词是“like”时,我需要输出一个类似于[I,will]的列表,然后是一个类似于[a,hamburger]的列表,如果它是列表中的第一项或最后一项,我只需要在后面或之前包含这些单词,而OP并不是这样要求的