cdzjf 发表于 2022-4-5 10:53:46

字典中间添加字典到指定位置?

a={"der":{"start":1,"end":1,"price":1,"type":6,"vip_sex":"","vip_id":"","VIP_money":"","id":""},"pac":[{"products":[],"first":0}]}
b=a.update({"country": "china"})

b将成为
{"der":{"start":1,"end":1,"price":1,"type":6,"vip_sex":"","vip_id":"","VIP_money":"","id":""},"pac":[{"products":[],"first":0}],"country": "china"}

如果我要想在a的字典指定的位置插入b,该怎么做?
比如
a={"der":{"start":1,"end":1,"price":1,"type":6,想要插入在这里"vip_sex":"","vip_id":"","VIP_money":"","id":""},"pac":[{"products":[想要插入在这里],"first":0}]}

isdkz 发表于 2022-4-5 10:58:35

本帖最后由 isdkz 于 2022-4-5 11:06 编辑

因为字典无序,所以没法改变顺序,顺序也不会影响字典的使用,所以并无意义,

你那个是直接对最外层字典进行更新,所以无法满足你的需求,你得看你要更新哪一级
a={"der":{"start":1,"end":1,"price":1,"type":6,"vip_sex":"","vip_id":"","VIP_money":"","id":""},"pac":[{"products":[],"first":0}]}
a['der'].update({"country": "china"})
a['pac']['products'].append({"country": "china"})
print(a)

运行结果:
{'der': {'start': 1, 'end': 1, 'price': 1, 'type': 6, 'vip_sex': '', 'vip_id': '', 'VIP_money': '', 'id': '', 'country': 'china'}, 'pac': [{'products': [{'country': 'china'}], 'first': 0}]}

ba21 发表于 2022-4-5 11:00:55

你想多了,字典是无序的。
字典是键值对,通过键来取值。

傻眼貓咪 发表于 2022-4-5 11:12:14

如果对于位置有明显要求,用列表吧,字典不合适,也无意义。
但如果只是为了方便访问,字典里的键和值访问应该会比位置访问来得更有效率。

**主要看你的要求

白two 发表于 2022-4-5 14:06:45

python高版本的字典似乎是有序的, 但是怎么控制键值对位置的方法我也没用过, 也不知道
因为需求也不是很大, 这样的方法很难搜得到
建议去看一下官方文档或者源码, 或者去 stack overflow 上面搜一下吧
页: [1]
查看完整版本: 字典中间添加字典到指定位置?