Python:列表索引在列表迭代的中途超出范围

2024-09-27 19:17:28 发布

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

首先,列表索引超出范围听起来很简单而且不言自明。。。但是环顾四周,我找不到任何关于我的情况的解释;我正在遍历一个19个项目的列表,在第9个项目中,我的控制台抛出了“列表索引超出范围”错误。坦白说,我不知道该怎么解释。。。你知道吗

*我正在使用phantomjs和selenium来刮取网页。。。提前谢谢!你知道吗

# data list
# -------------------------------------------------------------------------------------   
        xpath = [
        businessName,firstName,lastName,ubi,info,
        licenseType,licenseNumber,licenseEffectiveDate,licenseExpirationDate,status,
        bondProvider,bondNumber,bondAmount,bondEffectiveDate,bondEffectiveDate,insuranceProvider,
        insuranceNumber,insuranceAmount,insuranceEffectiveDate,insuranceExpirationDate
        ] 

        data = [
        "businessName","firstName","lastName","ubi","info",
        "licenseType","licenseNumber","licenseEffectiveDate","licenseExpirationDate","status",
        "bondProvider","bondNumber","bondAmount","bondEffectiveDate","bondEffectiveDate","insuranceProvider",
        "insuranceNumber","insuranceAmount","insuranceEffectiveDate","insuranceExpirationDate"
        ] 
#
#
# xpath check and grab function
# -------------------------------------------------------------------------------------
        i = 0
        while i <= len(data):
           result = browser.find_element_by_xpath(xpath[i]).text    #checks is xpath exists
           print i
           print data[i] + " = " + str(result) 
           i += 1

Tags: 项目info列表datafirstnamexpathlastnameubi
1条回答
网友
1楼 · 发布于 2024-09-27 19:17:28

如果如您的示例所示,xpathdata中的项始终直接对应,则可以使用循环表达式更轻松、更清晰地执行此操作:

for elem_xpath, name in zip(xpath, data):

如果您也需要索引i,请使用enumerate

for i, (elem_xpath, name) in enumerate(zip(xpath, data)):

相关问题 更多 >

    热门问题