索引器错误:调用pyspark datafram中的函数时,列表索引超出范围

2024-09-27 17:32:59 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图从pyspark运行下面的函数时,得到的索引超出范围错误

key = Issue_type=["35 USC 101","35 USC § 101","35 U.S.C. 101","35 U.S.C. § 101","§ 101","35 USC 102","35 USC §102","35 U.S.C. 102","35 U.S.C. § 102","§ 102","35 USC 103","35 USC § 103","35 U.S.C. 103","35 U.S.C. § 103","§ 103","35 USC 112","35 USC § 112","35 U.S.C. 112","35 U.S.C. § 112","§ 112"]
string ="asdgas35 USC 102dl;la35 USC § 112sga35 U.S.C. § 103s;lkg           sa35 USC 101dsgslasdfhgafds;m;ldsl35 U.S.C. 101dsa   glk35 U.S.C. § 102dsaoi35 U.S.C. § 112eqw"


def find_all_words1(words, sentence):

    #all_words = re.findall(r'\w+', sentence)
    all_words=sentence
    words_found = []
    codelist = ('35 USC 122','35 USC 134','35 USC 161','35 USC 251','35 USC 257','35 USC 311','35 USC 312','35 USC 314','35 USC 315','35 USC 317','35 USC 318','35 USC 321','35 USC 324','35 USC 325','35 USC 328','37 USC 1.131','Bd. R. 121','Bd. R. 127','PER CURIAM','37 CFR 41.50','37 CFR 41.77','37 CFR 41.79','37 CFR 41.125','37 CFR 41.127','37 CFR 42.5','37 CFR 42.71','37 CFR 42.72','37 CFR 42.73','37 CFR 42.74','37 CFR 42.100','37 CFR 42.101','37 CFR 42.102','37 CFR 42.103','37 CFR 42.104','37 CFR 42.105','37 CFR 42.106','37 CFR 42.107','37 CFR 42.108','37 CFR 42.109','37 CFR 42.110','37 CFR 42.111','37 CFR 42.112','37 CFR 42.113','37 CFR 42.114','37 CFR 42.115','37 CFR 42.116','37 CFR 42.117','37 CFR 42.118','37 CFR 42.119','37 CFR 42.120','37 CFR 42.121','37 CFR 42.122','37 CFR 42.123','37 CFR 42.200','37 CFR 42.201','37 CFR 42.202','37 CFR 42.203','37 CFR 42.204','37 CFR 42.205','37 CFR 42.206','37 CFR 42.207','37 CFR 42.208','37 CFR 42.209','37 CFR 42.210','37 CFR 42.211','37 CFR 42.212','37 CFR 42.213','37 CFR 42.214','37 CFR 42.215','37 CFR 42.216','37 CFR 42.217','37 CFR 42.218','37 CFR 42.219','37 CFR 42.220','37 CFR 42.221','37 CFR 42.222','37 CFR 42.223','37 CFR 42.224','37 CFR 42.300','37 CFR 42.301','37 CFR 42.302','37 CFR 42.303','37 CFR 42.304','37 CFR 42.400','37 CFR 42.401','37 CFR 42.402','37 CFR 42.403','37 CFR 42.404','37 CFR 42.405','37 CFR 42.406','37 CFR 42.407','37 CFR 42.408','37 CFR 42.409','37 CFR 42.410','37 CFR 42.411','37 CFR 42.412')
    for word in words:
        if word in all_words:
            for i in range (0,len(codelist)-1):
                print(codelist[i])
                code = codelist[i].split(' ')[2]
                print(code)
                ind = len(code)
                if word[-int(ind):] == str(code):
                    words_found.append(codelist[i])
    return set(words_found)
c=find_all_words1(key,string)
print(c)

嗨,伙计们, 请帮助我如何修复超出范围的索引 提前谢谢 拉吉


Tags: keyinstringcodeallfindsentenceword
1条回答
网友
1楼 · 发布于 2024-09-27 17:32:59
Traceback (most recent call last):
  File "xxxxx", line 21, in <module>
    c=find_all_words1(key,string)
  File "xxxxx", line 15, in find_all_words1
    code = codelist[i].split(' ')[2]
IndexError: list index out of range

codelist中有元素'PER CURIAM'。当您在' '处拆分它时,会得到两个元素元组,也就是说,没有索引为2的元素,并且在codelist[i].split(' ')[2]这一行得到IndexError-这就是为什么我要求完整的回溯。在

相关问题 更多 >

    热门问题