2014-11-03 65 views
1

對不起,非常糟糕的英語。 你好。我如何從這個列表中獲取網址?Python:在詞典中搜索嵌入列表

[{u'highlighted': [], u'image_permalink': u'http://bluebeetlezar.tumblr.com/image/101630187766', u'reblog_key': u'RWjDEE41', u'format': u'html', u'timestamp': 1414973540, u'note_count': 0, u'tags': [u'train', u'railway', u'station', u'silent', u'morning'], u'photos': [{u'caption': u'', u'original_size': {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, u'alt_sizes': [{u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_500.jpg', u'width': 500, u'height': 500}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_400.jpg', u'width': 400, u'height': 400}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_250.jpg', u'width': 250, u'height': 250}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_100.jpg', u'width': 100, u'height': 100}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_75sq.jpg', u'width': 75, u'height': 75}]}], u'id': 101630187766, u'post_url': u'http://bluebeetlezar.tumblr.com/post/101630187766/stasiun-gondangdia-in-the-morniiiiinnngg', u'caption': u'<p>Stasiun Gondangdia in the morniiiiinnngg :) #railway #station #train #morning #silent</p>', u'state': u'published', u'short_url': u'http://tmblr.co/Z2EiHt1UfePZs', u'date': u'2014-11-03 00:12:20 GMT', u'link_url': u'http://instagram.com/p/u6sFevMNJ2/', u'type': u'photo', u'slug': u'stasiun-gondangdia-in-the-morniiiiinnngg', u'blog_name': u'bluebeetlezar'}] 

我想使用.get,但是這個數據列表。我可以如何提取網址的方式?或列表 - >字典? (字典()不工作或我愚蠢)。

回答

1

'your_list [0] [' image_permalink']# - >http://bluebeetlezar.tumblr.com/image/101630187766

your_list[0]['photos'][0]['original_size']["url"] # -> http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg 

你只有這是一個字典列表中的單個元素,使用your_list[0]訪問它,然後使用鍵盤來獲得無論你需要什麼網址。

In [27]: your_list[0]['photos'][0]['original_size']['url'] 
Out[27]: 'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg' 
+0

我得到永久的,但我不能讓{u'url「:u'http:/ /38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg' – 2014-11-03 01:19:23

+0

我添加了輸出,我在你的問題的列表中運行代碼 – 2014-11-03 01:21:02

+0

它的工作原理,謝謝你! – 2014-11-03 01:24:08

1

這裏有一對夫婦的事情,你可以嘗試:

L = [{u'highlighted': [], u'image_permalink': u'http://bluebeetlezar.tumblr.com/image/101630187766', u'reblog_key': u'RWjDEE41', u'format': u'html', u'timestamp': 1414973540, u'note_count': 0, u'tags': [u'train', u'railway', u'station', u'silent', u'morning'], u'photos': [{u'caption': u'', u'original_size': {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, u'alt_sizes': [{u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_500.jpg', u'width': 500, u'height': 500}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_400.jpg', u'width': 400, u'height': 400}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_250.jpg', u'width': 250, u'height': 250}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_100.jpg', u'width': 100, u'height': 100}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_75sq.jpg', u'width': 75, u'height': 75}]}], u'id': 101630187766, u'post_url': u'http://bluebeetlezar.tumblr.com/post/101630187766/stasiun-gondangdia-in-the-morniiiiinnngg', u'caption': u'<p>Stasiun Gondangdia in the morniiiiinnngg :) #railway #station #train #morning #silent</p>', u'state': u'published', u'short_url': u'http://tmblr.co/Z2EiHt1UfePZs', u'date': u'2014-11-03 00:12:20 GMT', u'link_url': u'http://instagram.com/p/u6sFevMNJ2/', u'type': u'photo', u'slug': u'stasiun-gondangdia-in-the-morniiiiinnngg', u'blog_name': u'bluebeetlezar'}] 

def printUrls(L): 
    whitelist = set(["u'image_permalink", "url"]) 
    for d in L: 
     if isinstance(d, dict): 
      for k in d: 
       if k in whitelist: 
        print(d[k]) 
        continue 

     if isinstance(d, list): 
      printUrls(d) 

或者:

def printUrls(L): 
    for d in L: 
     if isinstance(d, dict): 
      for _k,v in d.items(): 
       if v.startswith('http'): 
        print(v) 
        continue 

     if isinstance(d, list): 
      printUrls(d)