data = [
    {'subject': 'A', 'code': 'A', 'parent_code': None},
    {'subject': 'B', 'code': 'A.1', 'parent_code': 'A'},
    {'subject': 'C', 'code': 'A.1.1', 'parent_code': 'A.1'},
    {'subject': 'D', 'code': 'A.1.2', 'parent_code': 'A.1'},
    {'subject': 'E', 'code': 'A.2', 'parent_code': 'A'},
    {'subject': 'F', 'code': 'A.2.1', 'parent_code': 'A.2'},
    {'subject': 'G', 'code': 'B', 'parent_code': None},
    {'subject': 'H', 'code': 'B.1', 'parent_code': 'B'},
    {'subject': 'I', 'code': 'B.1.1', 'parent_code': 'B.1'},
    {'subject': 'J', 'code': 'B.1.2', 'parent_code': 'B.1'},
    {'subject': 'K', 'code': 'B.2', 'parent_code': 'B'},
    {'subject': 'L', 'code': 'B.2.1', 'parent_code': 'B.2'},
    {'subject': 'M', 'code': 'B.2.1.1', 'parent_code': 'B.2.1'}
]

for item in data:
    item['level'] = item['code'].count('.')
    item['child_code'] = item['code'].split('.')[-1]
    item['is_last'] = True
    for sub_item in data:
        if sub_item['parent_code'] == item['code']:
            item['is_last'] = False
            break
    if item['level'] == 0:
        item['child_code'] = item['code']
    item['child_code'] = item['child_code'].replace(item['code'] + '.', '')
    item['child_code'] = item['child_code'].replace('.', ',')
``
下面data列表里的每级科目使用号进行分隔写出实现对data的科目级别=level、子级科目代码=child_code、是否末级=is_last字段进行填充要求child_code之间使用分隔符分隔的python代码

原文地址: http://www.cveoy.top/t/topic/eYJl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录