-1
votes

Ajouter des valeurs de dictionnaire stockées dans la variable à la liste python3

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: xxx

sortie requise: xxx


4 commentaires

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.


5 Réponses :


0
votes

Vous pouvez essayer:

my_dict = {'monitor.ip': ip, 'monitor.status': 'up'}
my_dict.update(fields)
result = [(timestamp, my_dict)]


0 commentaires

0
votes

Essayez ceci xxx


5 commentaires

La sortie de ce code est différente de ce que veut


dict.update est une opération en place qui renvoie Aucun


@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) en utilisant ce résultant aucune dans la sortie, ce qui n'est pas aussi souhaité par OP. Vérifier à nouveau ce que .update () fait


@Giladshnoor super



3
votes

Vous pouvez utiliser le déballage:

result = [((timestamp, {'monitor.ip': ip, 'monitor.status': 'up', **fields}))]


0 commentaires

1
votes

Vous pouvez décompresser vos champs : xxx

BTW, code d'origine résultat = ... avait un SyntaxError < / code> avec redondant (, qui est supprimé en réponse.

Pour vous assurer, Déballage a été introduit dans Python 3.5. En cas de python 3.4 ou moins, cela augmentera un syntaxError et doit donc utiliser différentes approches telles que dict.update


1 commentaires

Merci d'avoir répondu. Veuillez uppoter cette question si vous sentez que cela vaut la peine.



0
votes
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'})]

0 commentaires