从给定索引拆分后加入python数组

2024-06-02 07:26:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为line的python字符串。line是一个重复出现的字符串。我在excel文件中搜索并打印出包含特定单词的每一行,我将其称为search,这是用户输入的一个术语。如果line不包含search,则不会打印它。在

我分割了line,并打印出search_index(在{}中搜索词的索引)。在

s=line.split()
search_index = s.index(search) if inflected in s else "not in this line"
print(search_index)

如果该行中不存在,那么日志将显示“not in this line”而不是一个数字,因为它崩溃了,而nI没有包括这一点。在

我要做的是将这个分裂重新连接在一起,但要从一个搜索词是中间的范围。所以,有点像

^{pr2}$

但不确定这是否正确,因为它给我一个错误的网页“语法无效”

如何正确地完成这项工作?在


Tags: 文件字符串用户insearchindexifline
2条回答

我想你有一个打字错误(在你的范围[:]之前缺少line),但还有另外一件事。如果您的search_index被分配了一个字符串,则不能对其进行减法或加法。在

我不确定上下文,因此您必须根据您的需要调整此选项,但这解决了以下问题:

s=line.split()
if inflected in s:
    search_index = s.index(search)
    new_line = line[search_index-5:search_index+5]
else:
    print("not in this line")

当您获得列表的属性时,您总是必须在调用列表的方式之前将列表的名称放在前面:

>>> line = 'hello world!'
>>> search_index = 3
>>> [search_index-3:search_index+3]
  File "<stdin>", line 1
    [search_index-3:search_index+3]
                   ^
SyntaxError: invalid syntax
>>> line[search_index-3:search_index+3]
'hello '
>>> 

因此,不要使用new_line = [search_index-5:search_index+5],而是使用new_line = line[search_index-5:search_index+5]。在

下面是另一个例子:

^{pr2}$

相关问题 更多 >