2016-03-01 57 views
0

我已经从HTML文件中获得了xpath查询的字典列表。 它是这样的:做列表理解时出现Python错误

[{"not-interested-in":"", "url": url_string1}, 
{"not-interested-in":"", "url": url_string2}, and so on...] 

现在,我尝试从所有的字典获得与“URL”键的所有值一个新的列表:

[url_string1, url_string2, ...] 

我试过列表理解,因为它是最值得推荐的方法,我这样做(数据是字典列表):

data = tree.xpath('(//li[@data-bns="API"]/@data)[position() <= 5]') 
imageURLs = [di['url'] for di in data] 

在运行时,我得到了一个呃ror消息是这样的:

TypeError: string indices must be integers, not str

有人能帮助我吗?

+1

实际代码将有助于 –

+1

当您打印'data',您能得到什么? – zondo

+0

@zondo好的,我真的得到这样的一些: ['{}','{}'] 我的坏,没有注意到 –

回答

0

imageURLs = [di['url'] for di in data]中,您尝试使用另一个字符串('url')作为索引来索引对象(di,它是一个字符串)。字符串不支持字符串索引!

(例如'Hello!'['a']将返回相同的错误。)

+0

谢谢,我在想对象** di **是一个字典实例 –