gpt4 book ai didi

python - 索引错误 : List index out of range.。尽管在范围内?

转载 作者:行者123 更新时间:2023-12-03 09:05:15 24 4
gpt4 key购买 nike

在此先感谢您的帮助。

我遇到了以下代码的问题:

category = path.split("/")[3]
label = int(category.split("_")[0][1])
y.append(label)

错误如下: IndexError: list index out of range。当我进行拆分时,错误出现在第一行。我(认为)我理解错误的含义,但是当我执行 len(path) 时,我得到 33 ... 所以 [3] 不应该有问题。

我测试了以下代码片段以更好地理解拆分:
txt = "welcome to the jungle"
x = txt.split()[2]
print(x)

对于上面的代码,输出是预期的“the”,因为它是 [2] 条目。

现在,回到我的代码,当我运行时:
x = path.split()
print(x)

我得到以下输出:
['.\\00\\01_palm\\frame_00_01_0001.png']

我遇到问题的代码来自我在本地机器(Jupyter)上重新创建的公共(public) GitHub 项目。当我在 Google Colab 上运行相同的项目时,我没有任何问题。但是当我在本地做这件事时,我遇到了这个问题。

问题1)有人可以向我解释为什么代码使用: path.split("/")[3] 吗?为什么 ”/”?从输出中看到的实际路径只有“\”,“/”是什么意思吗?对不起,我对 python 很陌生。

问题 2) 我该怎么做才能修复“IndexError: list index out of range”?

谢谢

最佳答案

从代码中可以清楚地看到 Github , 它的路径是为 Linux路径分隔符为 / 的机器,但您在 windows 上运行它路径分隔符为 \\所以你必须修改你的代码,

category = path.split("\\")[3]
label = int(category.split("_")[0][1])
y.append(label)


对于任何机器,如果您想查看路径分隔符,那么您可以这样做
import os
print(os.path.sep)

对于 Linux系统,输出将是:
/

关于python - 索引错误 : List index out of range.。尽管在范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61585185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com