Python, string is returning IndexError: list index out of range
Python, string is returning IndexError: list index out of range
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
索引错误是关于第一个 ([1]
) 而不是第二个 ([:47]
)。
这是因为 get_code
字符串根本不包含任何 code=
字符串!
所以这是发生了什么:
split
方法returns被code=
分割的子串列表;反过来找不到任何 code=
和 returns 整个 get_code
字符串作为长度为 1 的数组。(即 returns ["https://..."]
)
- 但是您想要获取返回数组的第二个元素(从
[1]
部分开始),这会导致错误,因为该数组在 0
的索引处只有一个元素!
你的错误是你询问 'code' 是否在字符串中但你用 'code=' 分割。修复该问题,代码将按预期工作。
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
索引错误是关于第一个 ([1]
) 而不是第二个 ([:47]
)。
这是因为 get_code
字符串根本不包含任何 code=
字符串!
所以这是发生了什么:
split
方法returns被code=
分割的子串列表;反过来找不到任何code=
和 returns 整个get_code
字符串作为长度为 1 的数组。(即 returns["https://..."]
)- 但是您想要获取返回数组的第二个元素(从
[1]
部分开始),这会导致错误,因为该数组在0
的索引处只有一个元素!
你的错误是你询问 'code' 是否在字符串中但你用 'code=' 分割。修复该问题,代码将按预期工作。