gpt4 book ai didi

python - Python函数字符串索引超出范围

转载 作者:行者123 更新时间:2023-12-03 08:43:17 24 4
gpt4 key购买 nike

def search_Lm_in_df_two(collection,dataset): 
for element in collection:
for row in dataset[1:]:
if element == row[5]: <-- #This is where the error is
lmstring = row[6]
newString = {shorten_string(lmstring)}
return newString

获取此索引错误。只是将具有ID的集合与csv文件中的元素进行比较。

尝试了类似线程的解决方案,但无法正常工作。

IndexError: string index out of range

最佳答案

指代您指向的内嵌评论

if element == row[5]

当该行引发错误时,我敢打赌,数据集的行中至少有一个 element包含少于6个字符的字符串(这将导致索引错误)。

您可以通过将 if语句替换为 try-except来为这些元素创建创可贴:
def search_Lm_in_df_two(collection,dataset): 
for element in collection:
for row in dataset[1:]:

try element == row[5]: # Try this, unless it throws an error.
lmstring = row[6]
newString = {shorten_string(lmstring)}

except: # If something goes wrong, use a default and continue.
lmstring = a_default_value
newString = another_default_value

return newString

但是,出于尽职调查的目的,我建议对数据集进行调查,以确定有多少个元素的字符串长度有问题。可能有几个。也许这些元素值得单独处理。

旁注:好像在该循环中一遍又一遍地设置了 newString变量,但在所有嵌套的for循环完成后返回。这意味着您的搜索功能仅返回newString的最新值。这是故意的吗?

关于python - Python函数字符串索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59718712/

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