繁体   English   中英

如何根据索引拆分 python 字符串?

[英]How to split a python string based on indices?

我需要遍历一个列表,并为该列表中的每个元素创建两个子列表:我当前元素之前的 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] 但我不确定如何选择与您当前索引相关的元素。

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

Output:

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])

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM