我有两个Python字典,我想编写一个返回这两个字典的表达式,合并.update()如果它返回结果而不是就地修改dict,那么该方法将是我需要的.
>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 10, 'c': 11}
>>> z = x.update(y)
>>> print(z)
None
>>> x
{'a': 1, 'b': 10, 'c': 11}
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得最终合并的词典z,不是x吗?
(要清楚的是,最后一次胜利的冲突处理dict.update()也是我正在寻找的.)
我最近开始使用Python,我试图将我的一个JSON String与现有的JSON String连接起来.我还与动物园管理员工作,所以我从动物园管理员节点获取现有JSON字符串,因为我使用Python卡祖笛库.
# gets the data from zookeeper
data, stat = zk.get(some_znode_path)
jsonStringA = data.decode("utf-8")
Run Code Online (Sandbox Code Playgroud)
如果我打印jsonStringA它给我这样的 -
{"error_1395946244342":"valueA","error_1395952003":"valueB"}
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做,print json.loads(jsonString)它打印出来像这样 -
{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'}
Run Code Online (Sandbox Code Playgroud)
这里jsonStringA将有我现有的JSON字符串.现在我有另一个键值对,我需要在退出时添加jsonStringA-
下面是我的Python代码 -
# gets the data from zookeeper
data, stat = zk.get(some_znode_path)
jsonStringA = data.decode("utf-8")
timestamp_in_ms = "error_"+str(int(round(time.time() * 1000)))
node = "/pp/tf/test/v1"
a,b,c,d = node.split("/")[1:]
host_info = "h1"
local_dc = "dc3"
step = "step2"
Run Code Online (Sandbox Code Playgroud)
jsonStringA从动物园管理员处提取后,我现有的将是这样的 -
{"error_1395946244342":"valueA","error_1395952003":"valueB"}
Run Code Online (Sandbox Code Playgroud)
现在我需要在 - 中附加这个键值对jsonStringA-
"timestamp_in_ms":"Error …Run Code Online (Sandbox Code Playgroud)