相关疑难解决方法(0)

如何在单个表达式中合并两个词典?

我有两个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 merge dictionary

4349
推荐指数
41
解决办法
168万
查看次数

如何在Python中合并两个json字符串?

我最近开始使用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)

python string json kazoo

17
推荐指数
3
解决办法
7万
查看次数

标签 统计

python ×2

dictionary ×1

json ×1

kazoo ×1

merge ×1

string ×1