执行列表理解时出现Python错误
我有一个字典列表,其中包含来自HTML文件的xpath查询。 是这样的:执行列表理解时出现Python错误,python,list,dictionary,xpath,list-comprehension,Python,List,Dictionary,Xpath,List Comprehension,我有一个字典列表,其中包含来自HTML文件的xpath查询。 是这样的: [{"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
[{"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]
我尝试了列表理解,因为这是最推荐的方法,我做到了(数据是字典列表):
data=tree.xpath(“(//li[@data bns=“API”]/@data)[position()InimageURLs=[di['url']表示数据中的di]
您试图索引到一个对象(di
,这是一个字符串),使用另一个字符串('url'
)作为索引。字符串不支持字符串索引
(例如,'Hello!'['a']
将返回相同的错误。)当您打印数据时,您的实际代码会有所帮助,您得到了什么?@zondo好的,我实际上得到了这样的结果:['{}','{}']我不好,没有注意到Ethanks,我认为对象di是一个字典实例