J'ai un dictionnaire sous une liste et je souhaite insérer un autre dictionnaire dans cette liste. Ainsi besoin d'aide pour python.
{"issue": {
"custom_field_values": {
"183" : "Sprint-1",
"7" : "12.5.0",
"11" : "Low (P4)",
"13" : "Functional",
"180" : "Legacy Issue identified in Sprint",
"93" : "CERT-20083926:FN_Update_Gemalto_HSMSettings_Available_Status_DefaultOptionEnabled_ChangeInvalidPassword",
"150" : "CERTIFICATE"
},
"project_id" : 25,
"category_id": 2380
}}
3 Réponses :
Essayez ci-dessous, il vous suffit d'ajouter une liste sur Éléments CODE> Stuff: custom_field_payload = {'custom_value_fields':custom_fields.items()}
payload = {'issue' : dict(list(payload.items())+list(custom_field_payload.items()))}
Autre que custom_field_payload, j'ai une charge utile supplémentaire également utile = {"Objet": émetteur ["Sujet"], "fixe_version_id": fixe_version_id, "assigné_to_id": cessionnaire [émetteur ["cessionnaire"], "parent_issue_id": int (problème ["Parenttask '])," tracker_id ": trackers [numéro [" suivi "]]," priority_id ": priorités [émission [" priorité "]]," Description ": Problème [' Description '],}
@Aravindarun a édité la mienne.
Obtenir une erreur non prise en charge des types d'opérande pour +: 'dict' et 'list'
La charge utile est un dictionnaire
@Aravindarun essai maintenant
Maintenant, obtenez cette erreur d'erreur de la séquence de mise à jour du dictionnaire # 0 a la longueur 19; 2 est requis
Essayez ceci:
issue = {'Sprint#': "Sprint-1",
'AffectedVersion': "12.5.0",
'Severity': "Low (P4)",
'Tag': "Functional",
'Tester root cause': "Legacy Issue identified in Sprint",
'Testcase ID': "CERT-20083926:FN_Update_Gemalto_HSMSettings_Available_Status_DefaultOptionEnabled_ChangeInvalidPassword",
'Subsystem': "CERTIFICATE"}
default_payload = {"project_id": 25, "category_id": 2380}
custom_fields = {
"183": issue['Sprint#'],
"7": issue['AffectedVersion'],
"11": issue['Severity'],
"13": issue['Tag'],
"180": issue['Tester root cause'],
"93": issue['Testcase ID'],
"150": issue['Subsystem']
}
custom_field_payload = {'custom_field_values':custom_fields}
p = {'issue' : custom_field_payload}
payload = default_payload.copy()
payload.update(p)
print(payload)
Je suppose que l'erreur que vous rencontrez se passe comme suit: Nous savons que l'erreur a été obtenu parce que nous avons essayé d'ajouter deux Qu'est-ce que je pense que vous avez essayé de faire est Insérer the TypeError: type (s) d'opérande non pris en charge pour +: 'dict_items' et 'dict_items' code>. Interprétatons cette erreur. typeError code> -> Premier off, nous pouvons voir que ceci est un typeError code>, cela signifie que nous avons fait une erreur avec quel type (s) nous utilisons. p> type (s) d'opérande non pris en charge pour +: code> -> Cela nous dit que nous avons essayé d'ajouter deux opérandes, mais leur type n'était pas supporté (invalide). p> 'dict_items' et 'dict_items' code> -> Enfin, cela nous dit que nous avons essayé d'ajouter deux dict_items code> , qui est la méthode éléments code> à l'intérieur de dict code> classe ( dict.items code>). p> dict.items code> qui n'est pas pris en charge, nous ne pouvons donc pas continuer à ajouter ces deux. p> par défaut_payload code> au dictionnaire utile code>. Pour ce faire, vous pouvez remplacer votre dictionnaire utile code> avec ceci: p> dict.update code> inserts de méthode un dictionnaire dans un autre dictionnaire. P> p>
Production attendue:
{"problème": {"custom_field_values": {"183": "Sprint-1", "7": "12.5.0", "11": "LOW (P4)", "13": "fonctionnel", "180": "Problème hérité identifié dans Sprint", "93": "CERT-20083926: FN_UPDATE_GEMALTO_HSMSETTS_GEMALTO_HSMSETTS_GEMALTO_HSMSETTS_GEMALTO_HSME_Changefault DecPassword", "150": "Certificat"}, "Project_id": 25, "Catégorie_id": 2380 }}
On ne sait pas ce que vous demandez. Fournissez une traçabilité et une description de tâche plus détaillée, s'il vous plaît