[英]Add dictionary values stored in variable to the list python3
我是python的新手。 我想將字典(鍵和值)連續添加到列表中。 該列表已經包含一些字典值。 應該在它旁邊添加它。 有什么建議請...
這是代碼:
from datetime import datetime
fields = {'a': 'steven', 'b': 'kumar'}
timestamp = datetime.now().strftime("%B %d %Y, %H:%M:%S")
ip ='192.168.1.1'
result = [((timestamp, {'monitor.ip': ip, 'monitor.status': 'up', fields})]
print (result)
要求的輸出:
[((February 19 2019, 13:18:53, {'monitor.ip': ip, 'monitor.status': 'up', 'a':'steven','b':'kumar})]
您可以使用拆包:
result = [((timestamp, {'monitor.ip': ip, 'monitor.status': 'up', **fields}))]
另外,您在result
中缺少右括號; 我添加了它。如果您只打算使用一組括號,請在前面和后面刪除一個括號。
您可以在此處閱讀有關此功能的更多信息。
您可以解壓縮fields
:
from datetime import datetime
fields = {'a': 'steven', 'b': 'kumar'}
timestamp = datetime.now().strftime("%B %d %Y, %H:%M:%S")
ip ='192.168.1.1'
result = [(timestamp, {'monitor.ip': ip, 'monitor.status': 'up', **fields})]
print (result)
[('February 19 2019, 16:57:22', {'monitor.ip': '192.168.1.1', 'b': 'kumar', 'a': 'steven', 'monitor.status': 'up'})]
順便說一句,原始代碼result=...
帶有一個SyntaxError
帶有冗余(
,在答案中已刪除。
為了確保安全, unpacking
是在python 3.5中引入的。 在python 3.4或更低版本的情況下,這將引發SyntaxError
,因此必須使用不同的方法,例如dict.update
您可以嘗試:
my_dict = {'monitor.ip': ip, 'monitor.status': 'up'}
my_dict.update(fields)
result = [(timestamp, my_dict)]
嘗試這個
from datetime import datetime
fields = {'a': 'steven', 'b': 'kumar'}
timestamp = datetime.now().strftime("%B %d %Y, %H:%M:%S")
ip ='192.168.1.1'
fields.update({'monitor.ip': ip, 'monitor.status': 'up'})
result = [timestamp, fields]
print (result)
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'})]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.