Savoir si une clé éxiste dans une liste

Résolu/Fermé
Loupix - 14 mai 2011 à 21:34
 Loupix - 15 mai 2011 à 08:55
Bonjour,
voila, j'suis en train de parser du JSON de facebook en Python, et j'ai un petit souci ; c'est de détecter si il y a un message ou pas (en php on utilise aisément if isset(val){ .. } )


date,message=[],[]
url = "https://graph.facebook.com/{ID}"
import urllib
face = urllib.urlopen(url).read()
import json
face = json.loads(str(face))

		for tab in face['data']:
			
			date.append(str(tab['created_time']))
                        message.append(str(tab['message']))  #erreur ici




en fait je me retrouve avec une liste avec des messages, des liens, des photos genre :

{
   "data": [
      {
         "id": "1309966752_145167845554621",
         "from": {
            "name": "Alex Steph",
            "id": "1309966752"
         },
         "picture": "http://external.ak.fbcdn.net/...\u00253A\u00252F\u00252Fi1.ytimg.com\u00252Fvi\u00252FthNrgisaX_o\u00252Fdefault.jpg",
         "link": "http://www.youtube.com/watch?v=thNrgisaX_o&feature=share",
         "source": "http://www.youtube.com/v/thNrgisaX_o?version=3&autohide=1&autoplay=1",
         "name": "Claude Sarraute chante Au Clair de la Lune (On va s'g\u00eaner)",
         "caption": "www.youtube.com",
         "icon": "http://static.ak.fbcdn.net/rsrc.php/v1/yj/r/v2OnaTyTQZE.gif",
         "type": "video",
         "application": null,
         "created_time": "2011-05-14T06:48:57+0000",
         "updated_time": "2011-05-14T06:48:57+0000"
      },
      {
         "id": "184514855655_185755428138827",
         "from": {
            "name": "Mathieu Mad\u00e9nian",
            "category": "Comedian",
            "id": "184514855655"
         },
         "message": "Ce matin sur Europe 1 !",
         "picture": "http://external.ak.fbcdn.net/...\u00253A\u00252F\u00252Fstatic2.dmcdn.net\u00252Fstatic\u00252Fvideo\u00252F420\u00252F853\u00252F31358024\u00253Ajpeg_preview_medium.jpg\u00253F20110512124604",
         "link": "http://www.dailymotion.com/...",
         "source": "http://www.dailymotion.com/swf/video/xio408?autoPlay=1",
         "name": "\"Claude Sarraute fait du topless sur la plage\" - on Dailymotion",
         "caption": "www.dailymotion.com",
         "description": "Mathieu Mad\u00e9nian en a marre, quand Le Grand direct des M\u00e9dias est d\u00e9localis\u00e9 c'est \u00e0 Rouen alors que Laurent Ruquier lui est \u00e0 Cannes.    Retrouvez Mathieu Mad\u00e9nian dans Le Grand Direct des",
         "icon": "http://static.ak.fbcdn.net/rsrc.php/v1/yj/r/v2OnaTyTQZE.gif",
         "type": "video",
         "created_time": "2011-05-12T10:57:49+0000",
         "updated_time": "2011-05-12T12:39:04+0000",
         "likes": {
            "data": [
               {
                  "name": "Handy Grant",
                  "id": "779168210"
               },
               {
                  "name": "Ludivine Chopin",
                  "id": "1175688483"
               },
               {
                  "name": "Diane Bardak",
                  "id": "570778287"
               },
               {
                  "name": "Clem-v Overnight",
                  "id": "1345100761"
               }
            ],
            "count": 20
         }
      },






A voir également:

2 réponses

Utilisateur anonyme
14 mai 2011 à 22:30
Salut,
J'ai pas trop bien compris ce que tu demande, mais selon le titre du sujet :

seek_key = "clée_inexistante"
list = {"clée1":"valeur1";"clée2":"valeur2"}

if isKeyInList(seek_key, list):
    print "La clée existe"

def isKeyInList(seek_key, list):
s = 0
for key in list:
     if str(seek_key) == str(key):
          s = 1
return s


Par contre, il va falloir que tu refasses les indentations sinon ça va pas marcher.
0
[resolu]

ok, merci beaucoup, ça marche super !!
0