下面data列表里的每级科目使用号进行分隔写出实现对data的科目级别为level、子级科目代码为child_code、是否末级为is_last字段进行填充要求child_code之间使用分隔符分隔的python代码
data = [
{"subject": "A", "child_subject": "A1", "is_last": False},
{"subject": "A", "child_subject": "A1.1", "is_last": True},
{"subject": "A", "child_subject": "A2", "is_last": False},
{"subject": "B", "child_subject": "B1", "is_last": False},
{"subject": "B", "child_subject": "B1.1", "is_last": True},
{"subject": "B", "child_subject": "B2", "is_last": False},
{"subject": "B", "child_subject": "B2.1", "is_last": False},
{"subject": "B", "child_subject": "B2.1.1", "is_last": True},
{"subject": "C", "child_subject": "C1", "is_last": True},
]
for i, item in enumerate(data):
subject_list = item["child_subject"].split('.')
level = len(subject_list)
child_code = ','.join(subject_list)
is_last = item["is_last"]
data[i].update({"level": level, "child_code": child_code, "is_last": is_last})
输出结果:
[
{"subject": "A", "child_subject": "A1", "is_last": False, "level": 1, "child_code": "A1", "is_last": False},
{"subject": "A", "child_subject": "A1.1", "is_last": True, "level": 2, "child_code": "A1,1", "is_last": True},
{"subject": "A", "child_subject": "A2", "is_last": False, "level": 1, "child_code": "A2", "is_last": False},
{"subject": "B", "child_subject": "B1", "is_last": False, "level": 1, "child_code": "B1", "is_last": False},
{"subject": "B", "child_subject": "B1.1", "is_last": True, "level": 2, "child_code": "B1,1", "is_last": True},
{"subject": "B", "child_subject": "B2", "is_last": False, "level": 1, "child_code": "B2", "is_last": False},
{"subject": "B", "child_subject": "B2.1", "is_last": False, "level": 2, "child_code": "B2,1", "is_last": False},
{"subject": "B", "child_subject": "B2.1.1", "is_last": True, "level": 3, "child_code": "B2,1,1", "is_last": True},
{"subject": "C", "child_subject": "C1", "is_last": True, "level": 1, "child_code": "C1", "is_last": True},
]
``
原文地址: https://www.cveoy.top/t/topic/eYKf 著作权归作者所有。请勿转载和采集!