【问题标题】:Python, string is returning IndexError: list index out of rangePython,字符串返回 IndexError:列表索引超出范围
【发布时间】:2021-10-22 18:38:22
【问题描述】:
get_code="https://localhost:8080/soieurow/KPP/alksdjfhlkjhekajhf?eowuiro=akleireyi&URL=https%3A%2F%2Flocalhost:8080%2Fmga%2Fsps%2Foauth%2Foauth20%2Fauthorize%3Fresponse_type%3Dcode%26scope%3Dopenid%2Bname%2Bemail%2Bpostal_code%26client_id%3Dthaljlwej%26redirect_uri%3Dhttp%3A%2F%2Faklsdjfhwekdisd.com%3A5006%2Fredirectcode%26nonce%3DQJT8RbymFk%26acrakdjasd%3DD1%26token%3DfkasjfhalskfhlaksjhkL61bqqADtekpH-HE55lZaX2LJH4Ii9diraseufhalksfhl%26correlation_id%3D4102479872341%26support_encryption%3Dsj2aljkadfj3%26state%3Dajk1234"
code='code'
if code in get_code:
    code=get_code.split("code=")[1][:47]
    print("i havce code",code)
else:
    print("i don't find code")

我正在传递字符串,但出现 IndexError: list index out of range

【问题讨论】:

  • 请不要有代码图片。
  • 你最好放实际代码而不是图像,我们看不到字符串值:)
  • code= 没有出现在您显示的要拆分的字符串中,在这种情况下,索引 1 处将没有元素。
  • stackoverflow.com/tour如何提问
  • 分享实际代码,以便我们提供帮助

标签: python list index-error


【解决方案1】:

您的错误是您询问“code”是否在字符串中,但您被“code=”分割。修复该问题,代码将按预期工作。

【讨论】:

    【解决方案2】:

    索引错误是关于第一个 ([1]) 而不是第二个 ([:47])。 这是因为get_code 字符串根本不包含任何code= 字符串!
    这就是发生的事情:

    • split 方法返回被code= 分割的子串列表;反过来又找不到任何 code= 并将整个 get_code 字符串作为长度为 1 的数组返回。(即返回 ["https://..."]
    • 但是您想获取返回数组的第二个元素(截至[1] 部分),这会导致错误,因为数组在0 的索引处只有一个元素!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-23
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 2017-04-05
      • 2012-07-15
      相关资源
      最近更新 更多