Dict et listes imbriquées ; comment faire ?

Dict et listes imbriquées ; comment faire ? - Python - Programmation

Marsh Posté le 15-12-2014 à 18:08:19    

Bonjour
 
Je suis en train d'apprendre le Python et comme challenge je me suis donné la mission de récupérer de mon logiciel de domotique certaines valeurs , en interrogeant le soft je recupere dans un dict  qq chose comme cela
 
{u'status': u'OK', u'dontcachehtml': True, u'AllowWidgetOrdering': True, u'WindSign': u'm/s', u'TempSign': u'C', u'MobileType': 0, u'ActTime': 1418662851, u'TempScale': 1.0, u'5MinuteHistoryDays': 1, u'DashboardType': 0, u'WindScale': 1.0, u'result': [{u'PlanID': u'0', u'HardwareName': u'Z-Stick', u'BatteryLevel': 15, u'ID': u'0000503', u'LastUpdate': u'2014-12-15 17:58:52', u'idx': u'105', u'TypeImg': u'lux', u'HardwareID': 11, u'SignalLevel': 12, u'Unit': 255}]}
<type 'dict'>
 
Autant j'arrive a recuperer des valeurs de status, ActTime, TempScale ... de la premiere partie que je ne comprends pas comment récupérer dans le bloc qui suit le result[{ PlanID ....
le disctionnaire dans la liste me pose problème, car bien sur ce dont j'ai besoin est la value de BatteryLevel
 
Comment traiteriez vous  ce cas ?
Merci de vos réponses
 
 

Reply

Marsh Posté le 15-12-2014 à 18:08:19   

Reply

Marsh Posté le 15-12-2014 à 21:12:25    

Ton champ result est une liste de dict. (Et dans ton cas tu n'as qu'un dict dans ta liste). Tu peux accéder aux champs d'une liste avec my_list[index]. Bref ca donne:
my_dict['result'][0]['BatteryLevel']

Reply

Marsh Posté le 15-12-2014 à 21:30:57    

oui en effet à la lecture ca parait simple pourtant !
 
Merci du coup de main
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed