首页 > 解决方案 > 如何根据索引拆分python字符串?

问题描述

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

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

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

标签: python

解决方案


您可以使用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: []

推荐阅读