代码中列出索引超出范围错误

劳拉·史密斯

我有以下一段代码。

result = "1/1/2010|1/2/2111"
request = "1/1/1.3.4.5.6/1/1/127.0.0.1"

replylist = result.split("|")
finalresultlist = [
    f"{i.split('/')[2]}.{j.split('/')[2]}"
        for i in request
        for j in replylist \
        if (i.split("/")[1] == j.split("/")[1])
]

print(finalresultlist)

注意:在每个字符串在 上拆分根据索引 [1] 中的值匹配时,f"{i.split('/')[2]}.{j.split('/')[2]}""1.3.4.5.6"连接起来"2010"if (i.split("/")[1] == j.split("/")[1])resultrequest'|'

我想返回一个新字符串,它将 1.3.4.5.6request与 2010连接起来result以返回一个包含字符串的列表:["1.3.4.5.6.2010"]

在我当前的代码中,我收到错误“列表超出范围”。我无法解决这个问题。

任何帮助表示赞赏。

温德雷亚

调试

正如molbdnilo 评论的那样

request是一个字符串,迭代它 ( for i in request) 一次会给你一个字符。在我看来,你试图一次做太多事情。

如果我们查看包括堆栈跟踪在内的完整错误消息,我们会看到以下建议:

Traceback (most recent call last):
  File "/home/wjandrea/test.py", line 7, in <module>
    for i in request
  File "/home/wjandrea/test.py", line 9, in <listcomp>
    if (i.split("/")[1] == j.split("/")[1])
IndexError: list index out of range

重新排列代码点i.split("/")[1]是问题所在。

解决方案

for i in request完全删除,并替换requesti.

finalresultlist = [
    f"{request.split('/')[2]}.{j.split('/')[2]}"
    for j in replylist
    if request.split("/")[1] == j.split("/")[1]
]

输出['1.3.4.5.6.2010']

然后还有一些我们可以做的其他改进,比如更好的变量名称和从列表理解中移除内容。

replies = [i.split('/') for i in result.split("|")]
request_list = request.split('/')

final_result_list = [
    f"{request_list[2]}.{reply[2]}"
    for reply in replies
    if request_list[1] == reply[1]
]

print(final_result_list)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python列出索引超出范围的错误-线性搜索代码

代码中的字符串索引超出范围错误

python:代码中的列表索引超出范围错误

列出索引超出范围-索引错误Python

抓取错误:索引错误:在python中列出索引超出范围(在csv上写入)

Python:IndexError:修改代码后列出索引超出范围

索引错误:在“for i in range(len(x)):”中列出超出范围的索引

在简单的 python for 循环中列出索引超出范围错误

IndexError:通过for循环列出索引超出范围的错误

使用 split 方法时列出索引超出范围错误

代码中的下标超出范围错误

列出python Web服务器中的索引超出范围错误

IndexError:在python中列出索引超出范围

IndexError:在python列表中列出索引超出范围

在jupyter中列出超出范围的索引

IndexError:在 PyCharm 中列出超出范围的索引

IndexError:在图像预测中列出超出范围的索引

在 Python 菜单中列出超出范围的索引

索引超出范围,错误

移动时列出索引超出范围

使用randint列出索引超出范围

如何修复此代码中的此错误?索引超出范围

此斐波那契代码中的列表索引超出范围错误

python中的缩进错误和索引超出范围错误

错误:段控制中的索引超出范围

错误:多维数组中的“数组索引超出范围”

解决错误:Python中的“列表索引超出范围”

图像显示中的索引超出范围错误

Scrapy中的列表索引超出范围错误