1. 程式人生 > >python 生成 樹狀結構

python 生成 樹狀結構

key 元素 字典 mps code color pytho n) ddr

樹狀結構: 字典裏只有一個鍵值對, key 為根, 值為一個列表, 列表裏的某個或多個元素可以再進行分支(分支還是列表)

比如: 郵件的發件人, 收件人, 轉發關系樹狀結構

forwarding_recp = re.compile(".*?發件人:(.*?);.*?發送時間:.*?收件人:(.*?)主題", re.S)

def parse_addr(addr, split_str=,):
    l = []
    if addr:
        for a in addr.split(split_str):
            l.append(utils.parseaddr(a)[
1]) return l def gen_forwarding(con): # 參數是解析過後的郵件正文 re_ret = forwarding_recp.findall(con) forwarding = dict() for i in re_ret: from_addr = parse_addr(i[0])[0] to_addr = parse_addr(i[1], ";") del to_addr[-1] for k, v in forwarding.items(): forwarding.clear() to_addr.remove(k) to_addr.append({k: v}) forwarding[from_addr]
= to_addr forwarding[from_addr] = to_addr return json.dumps(forwarding)

python 生成 樹狀結構