将存储在变量中的字典值添加到列表python3中

时间:2019-02-19 07:53:09

标签: python python-3.x list dictionary

我是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})]

5 个答案:

答案 0 :(得分:4)

您可以使用打开包装:

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

此外,您在result中缺少右括号;我将其添加进来。如果您只打算使用一组括号,请在前面和后面删除一个括号。

您可以了解有关此功能here的更多信息。

答案 1 :(得分:2)

您可以打开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=...的{​​{1}}带有多余的SyntaxError,因此在答案中将其删除。

为了确保这一点,在Python 3.5中引入了(。在python 3.4或更低版本的情况下,这将引发unpacking,因此必须使用不同的方法,例如SyntaxError

答案 2 :(得分:1)

您可以尝试:

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

答案 3 :(得分:0)

尝试

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)

答案 4 :(得分:0)

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