Tôi có một tập dữ liệu có thể có n cấp độ từ điển được sắp xếp và bây giờ tôi cần chuyển đổi tất cả chúng thành từ điển thông thường, có cách nào dễ dàng hơn ngoài tìm kiếm và chuyển đổi đệ quy không?
từ bộ sưu tập nhập OrderedDict
an=OrderedDict([('phương thức', 'hằng'), ('dữ liệu', '1.225')])
aw=OrderedDict([('phương thức', 'hằng'), ('dữ liệu', OrderedDict([('1.225','777')]))])
in dict(an)
in dict(aw)
{'dữ liệu': '1.225', 'phương thức': 'hằng số'}
{'dữ liệu': OrderedDict([('1.225', '777')]), 'method': 'constant'}
Có lẽ là không. Bạn có thể gói thuật toán đệ quy trong một hàm:
từ bộ sưu tập nhập OrderedDict
def đã ra lệnh_to_regular_dict(d):
nếu isinstance(d, OrderedDict):
d = {k: order_to_regular_dict(v) cho k, v trong d.items()}
return d
aw = OrderedDict([('phương thức', 'hằng'), ('dữ liệu', OrderedDict([('1.225','777')]))])
res = order_to_regular_dict(aw)
# {'dữ liệu': {'1.225': '777'}, 'phương thức': 'hằng số'}
Tôi là một lập trình viên xuất sắc, rất giỏi!