python 生成 樹狀結構
阿新 • • 發佈:2019-05-10
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 生成 樹狀結構