【发布时间】:2018-01-15 07:21:19
【问题描述】:
请告诉我。
说明
我想用dict的update方法更新OrderedDict类型变量的值。
但是执行update方法后,更新目标变量的OrderedDict类型丢失,无法按预期输出。
问题点:
- 丢失
OrderedDict的类型是否有问题? - 在保持
OrderedDict类型的同时更新dict 是否有另一种方法?
下面是问题的一个例子。
from collections import OrderedDict
dic = OrderedDict()
dic['a'] = 1
dic['b'] = OrderedDict()
dic['b']['b1'] = 2
dic['b']['b2'] = 3
dic['b']['b3'] = 4
print(dic)
> OrderedDict([('a', 1), ('b', OrderedDict([('b1', 2), ('b2', 3), ('b3', 4)]))]) # ok
new_dic = {'a': 2, 'b': {'b1': 3, 'b2': 4, 'b3': 5}}
print(new_dic)
> {'a': 2, 'b': {'b1': 3, 'b2': 4, 'b3': 5}}
dic.update(new_dic)
print(dic)
> OrderedDict([('a', 2), ('b', {'b1': 3, 'b2': 4, 'b3': 5})]) # NG: Type has been lost
【问题讨论】:
-
感谢您的回答。我第一次使用这个网站,但很快我就感到惊讶。非常感谢。
标签: python python-3.5 ordereddictionary