2016-03-01 29 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 **是一個字典實例 –