在 Python 中将 OrderedDict 转换为常规 Dict
使用 dict() 函数将 OrderedDict 转换为常规字典,例如 dictionary = dict(ordered_dict) 。 dict() 函数可以传递一个可迭代的键值对并返回一个新字典。
from collections import OrderedDict
import json
# ✅ 将 OrderedDict 转换为常规 Dict
ordered_dict = OrderedDict(
[('first', 'fql'),
('last', 'zadmei'),
('age', 30)]
)
dictionary = dict(ordered_dict)
# ?️ {'first': 'fql', 'last': 'zadmei', 'age': 30}
print(dictionary)
print(type(dictionary)) # ?️ <class 'dict'>
# ---------------------------------------------------
# ✅ 将嵌套的 OrderedDict 转换为常规字典
ordered_dict = OrderedDict(
[('name', 'fqlzadmei'),
('address', OrderedDict([('post_code', 123)])),
]
)
json_str = json.dumps(ordered_dict)
regular_dict = json.loads(json_str)
# ?️ {'name': 'fqlzadmei', 'address': {'post_code': 123}}
print(regular_dict)
print(type(regular_dict)) # ?️ <class 'dict'>
第一个示例使用 dict() 函数将 OrderedDict 对象转换为字典。
如果它不是嵌套的 OrderedDict 对象,我们可以直接将 OrderedDict 传递给 dict() 函数。
from collections import OrderedDict
ordered_dict = OrderedDict(
[('first', 'fql'),
('last', 'zadmei'),
('age', 30)]
)
dictionary = dict(ordered_dict)
# ?️ {'first': 'fql', 'last': 'zadmei', 'age': 30}
print(dictionary)
print(type(dictionary)) # ?️ <class 'dict'>
print(dictionary['first']) # ?️ fql
print(dictionary['last']) # ?️ zadmei
可以向 dict() 类传递一个可迭代的关键字参数或可迭代的键值对,并返回一个新字典。
在 Python 中将嵌套的 OrderedDict 转换为常规的 Dict
要将嵌套的 OrderedDict 转换为常规字典:
- 使用 json.dumps() 方法将嵌套的 OrderedDict 转换为 JSON 字符串。
- 使用 json.loads() 方法将 JSON 字符串转换为本机 Python 字典。
from collections import OrderedDict
import json
ordered_dict = OrderedDict(
[('name', 'fqlzadmei'),
('address', OrderedDict([('post_code', 123)])),
]
)
json_str = json.dumps(ordered_dict)
regular_dict = json.loads(json_str)
# ?️ {'name': 'fqlzadmei', 'address': {'post_code': 123}}
print(regular_dict)
print(type(regular_dict)) # ?️ <class 'dict'>
第一步是使用 json.dumps() 方法将嵌套的 OrderedDict 对象转换为 JSON 字符串。
from collections import OrderedDict
import json
ordered_dict = OrderedDict(
[('name', 'fqlzadmei'),
('address', OrderedDict([('post_code', 123)])),
]
)
json_str = json.dumps(ordered_dict)
print(json_str) # ?️ {"name": "fqlzadmei", "address": {"post_code": 123}}
print(type(json_str)) # ?️ <class 'str'>
json.dumps 方法将 Python 对象转换为 JSON 格式的字符串。
from collections import OrderedDict
import json
ordered_dict = OrderedDict(
[('name', 'fqlzadmei'),
('address', OrderedDict([('post_code', 123)])),
]
)
json_str = json.dumps(ordered_dict)
regular_dict = json.loads(json_str)
# ?️ {'name': 'fqlzadmei', 'address': {'post_code': 123}}
print(regular_dict)
print(type(regular_dict)) # ?️ <class 'dict'>
json.loads 方法将 JSON 字符串解析为本机 Python 对象。
my_dict = dict(
[('id', 1), ('first', 'fql'), ('last', 'zadmei')]
)
print(my_dict) # ?️ {'id': 1, 'first': 'fql', 'last': 'zadmei'}
OrderedDict 类是 dict 的子类,它会记住其条目的添加顺序。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。