python - 如何根据索引拆分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] 但我不确定如何选择与您当前索引相关的元素。
解决方案
您可以使用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: []
推荐阅读
- javascript - 使用 javascript 从数组更改类的图像失败
- jboss - 在wildfly 12上部署我的战争时出现禁止(4.3)错误
- c# - 在 WPF 中使用 Unity Prism 在 TextBox 中输入时实时更新 TextBlock
- c++ - 下面的单行比较器是如何工作的?C++11
- php - save() 在 Laravel 5.5 中返回 true
- javascript - 尝试在包裹上使用超级代理上传文件时,.on 不是函数错误
- c# - c#不能使用内存流将字节数组转换为位图
- python - 绘制子图分组 x 轴
- node.js - 如何在 AWS Lambda 中使用单个 .node 二进制模块文件
- c# - 在 Windows 应用程序表单中显示 reCAPTCHA