def getMenu(purlist): rlist = [] m1list = [] for row in purlist: grpname = getCodeByName(row["grpname"].strip()) rlist.append(grpname) m1list.append((row["parentnm"].strip(), grpname)) #去重 rlist = list(set(rlist)) m1list = list(set(m1list)) #排序 m1list = sorted(m1list, key=lambda menu: menu[0]) dt = {} pinyin = mtu.PinYin() for r in rlist: mls = [] for m in m1list: if r == m[1]: dls = [] for d in purlist: if m[0] == d['parentnm'].strip(): dls.append(d) mkey = cutStr(m[0], ".") mls.append([ m[0], dls, pinyin.hanzi2pinyin_split(string=mkey, split="") ]) dt[r] = mls # print(">>>>>>菜单:",dt) return dt