python:将字典保存到列表中

时间:2014-08-09 02:39:16

标签: python list dictionary scrapy

我有这样的代码:

item = CitytalkItem()    #scrapy item 
event = self.driver.find_elements_by_xpath("...")
for d in event:
    event_date = d.find_element_by_xpath("td[1]")
    event_time_type = d.find_element_by_xpath("td[2]")
    event_locate = d.find_element_by_xpath("td[3]")

    event_date_c = event_date.text
    event_time_type_c   = event_time_type.text
    event_locate_c  = event_locate.text
    #save like  {"event_date": "0808", "event_tim_type": AM "event_locate": "LA"}

我希望将其保存到列表中 形式如下:

 item['event']: 
           [{"event_date": "0808", "event_tim_type": AM "event_locate": "LA"},          
           {"event_date": "0708", "event_tim_type": PM "event_locate": "BA"},   
           {"event_date": "0810", "event_tim_type": AM "event_locate": "LA"},   ]

请教我 谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用list comprehension

events = self.driver.find_elements_by_xpath("...")
item['event'] = [{'event_date': event.find_element_by_xpath("td[1]").text,
                  'event_time_type': event.find_element_by_xpath("td[2]").text,
                  'event_locate': event.find_element_by_xpath("td[3]").text} 
                 for event in events]