2012-07-30 49 views
0

我对Python很新,对lxml更新,但是我想要做的事似乎很简单,但我无法弄清楚我做错了什么。迭代lxml表单提交的列表

我有这样的代码喂养值的列表(列表对象ISBN)的目标只限于lxml提交到搜索字段:

for i in ISBN: 

    page.forms[0].fields['_nkw'] = ISBN[i] 
    blah blah blah 

我得到这个错误后运行:

Traceback (most recent call last): 

page.forms[0].fields['_nkw'] = ISBN[i] 
TypeError: list indices must be integers, not str 

显然必须有通过值喂到窗体列表进行迭代的一种方式,但显然我不知道它:)

编辑:FYI更换ISBN代码时工作正常[I]哈日d输入。 编辑2:根据要求ISBN列表对象的内容:

['9781608319053', '9780321558237', '9781932735413', '9781416059516', '9781437708257', '9780781780582', '9781437701517', '9780323065801', '9780890420256', '9780323079334', '9781599417042', '9780781771535', '9781416031215', '9780312601430', '9780781775250', '9781591263333', '9780071748896', '9780133669510', '9781416045748', '9780781771566', '9781437728019', '9780323065849', '9781416066675', '9780735579965', '9780323078917', '9781437735826', '9781603595681', '9780321696724', '9780321558145', '9781933107981', '9780138024611'] 
+0

什么是'型ISBN'?它是一个列表还是一本字典?它的内容是什么? – Blckknght 2012-07-30 01:41:26

回答

1

麻烦的是与你的环比和使用ISBN变量。您不需要在分配过程中将其编入索引,因为i已包含列表的一个元素,并作为循环的一部分提取。你会得到一个异常,因为你不能用一个字符串索引一个列表,即使这个字符串本身出自列表。

取而代之,使用page.forms[0].fields['_nkw'] = i

或者,如果你需要的索引,你没有表现出ISBN列表供以后的代码,保持分配,因为它是,并且改变环路声明:

for i in range(len(ISBN)):