Je suis nouveau à Python. Je veux ajouter le dictionnaire (clés et valeurs) à la liste en continu. La liste contient déjà des valeurs de dictionnaire. Il devrait être ajouté à côté de cela. Toute suggestion s'il vous plaît ...
Voici le code: p> sortie requise: p>
5 Réponses :
Vous pouvez essayer:
my_dict = {'monitor.ip': ip, 'monitor.status': 'up'}
my_dict.update(fields)
result = [(timestamp, my_dict)]
Essayez ceci
La sortie de ce code est différente de ce que veut
dict.update code> est une opération en place qui renvoie Aucun code>
@prastant Rana Oui, mais je pensais que c'était une erreur comme Shivam Pandya a souligné dans un commentaire sur la question
@Giladshnoor .update (champs) code> en utilisant ce résultant aucune dans la sortie, ce qui n'est pas aussi souhaité par OP. Vérifier à nouveau ce que .update () code> fait
@Giladshnoor super
Vous pouvez utiliser le déballage:
result = [((timestamp, {'monitor.ip': ip, 'monitor.status': 'up', **fields}))]
Vous pouvez décompresser vos champs BTW, code d'origine Pour vous assurer, code>: résultat = ... code> avait un SyntaxError < / code> avec redondant ( code>, qui est supprimé en réponse. p> Déballage code> a été introduit dans Python 3.5. En cas de python 3.4 ou moins, cela augmentera un syntaxError de code> et doit donc utiliser différentes approches telles que dict.update code> p> p> p>
Merci d'avoir répondu. Veuillez uppoter cette question si vous sentez que cela vaut la peine.
from datetime import datetime
fields = {'a': 'steven', 'b': 'kumar'}
timestamp = datetime.now().strftime("%B %d %Y, %H:%M:%S")
ip ='192.168.1.1'
new_dic = {'monitor.ip': ip, 'monitor.status': 'up'}
new_dic.update(fields)
result = [((timestamp, new_dic))]
print (result)
# output
# [('February 19 2019, 13:30:50', {'monitor.ip': '192.168.1.1', 'monitor.status': 'up', 'a': 'steven', 'b': 'kumar'})]
La sortie requise que vous avez indiquée n'est pas claire. Vous avez des tuples à l'intérieur de la liste. Est-ce par erreur ou tu veux ça comme ça? Il devrait être: [Timestamp, {Key1: Val1, Key2: VAL2}]
Dans votre sortie requise, il y a des crochets inégalés. De plus, il serait préférable que vous puissiez inclure plus d'échantillons de dicts dans la liste de sortie requise afin que les gens puissent mieux comprendre votre déclaration de problème.
Avez-vous essayé le résultat.Append ()? Pour ajouter de nouveaux éléments à la liste existante. Si ce n'est pas ce que vous recherchez, veuillez élaborer votre question.
J'ai essayé que..appendez () ajoutera et créera un nouveau à la fin. Je veux que l'intérieur des accolades {}. Finalement j'ai eu ma réponse.