2017-10-12 1 views
-1

Je veux organiser mes données afin que je puisse voir/accéder à mes chunkId associés à chaque taskId. Chaque taskId a plusieurs chunkId en dessous. Je pense à un dictionnaire, avec taskId comme clé et chunkId comme valeur est la voie à suivre.Comment puis-je remplir les clés de mon dictionnaire pour qu'il me donne la valeur de la variable plutôt que la chaîne?

Comment puis-je renseigner mes clés de dictionnaire afin qu'elles me donnent la valeur de la variable taskId, plutôt que la chaîne 'taskId'?

Mon code:

result = {u'content': [{u'status': u'succeeded', u'task': [{u'id': 20170913000001}], u'id': 51924665}, {u'status': u'succeeded', u'task': [{u'id': 20170913000002}], u'id': 51924675}, {u'status': u'succeeded', u'task': [{u'id': 20170913000003}], u'id': 51924684}, {u'status': u'succeeded', u'task': [{u'id': 20170913000004}], u'id': 51924689}, {u'status': u'succeeded', u'task': [{u'id': 20170913000005}], u'id': 51924692}], u'next': None, u'message': None, u'previous': None, u'error': None} 

for chunkData in result['content']: 
    chunkId = chunkData['id'] 
    for taskData in chunkData['task']: 
     taskId = taskData['id'] 
     dicto = dict(taskId=chunkId) 
     print dicto 

Sortie:

{'taskId': 51924665} 
{'taskId': 51924675} 
{'taskId': 51924684} 
{'taskId': 51924689} 
{'taskId': 51924692} 
+0

Bienvenue sur StackOverflow. Veuillez lire et suivre les consignes de publication dans la documentation d'aide. [Exemple minimal, complet, vérifiable] (http://stackoverflow.com/help/mcve) s'applique ici. Nous ne pouvons pas vous aider efficacement tant que vous n'afficherez pas votre code MCVE et que vous ne décrivez pas précisément le problème. Nous devrions pouvoir coller votre code posté dans un fichier texte et reproduire le problème que vous avez décrit. – Prune

+0

Il est difficile de dire, puisque vous n'avez pas fourni de code capable de générer la chaîne "taskId", et que vous n'avez fourni * aucune * valeur de données. – Prune

Répondre

2

Ne pas utiliser le type contructor, utilisez un littéral:

dicto = {taskId:chunkId} 
+0

Juste pour ajouter un peu d'information pour expliquer les choses pour l'OP: Le constructeur de 'dict' utilise par défaut les noms des mots-clés comme des clés dans le dictionnaire et leurs valeurs respectives comme valeurs. C'est pourquoi vous obtenez la sortie que vous êtes. –

+0

Super, ça a parfaitement fonctionné. Je vous remercie. –