python list group by 列表中的字典进行分组

import operator
import itertools
d = [{"name":"tobi","class":"1","age":"14", "gender":"m"},{"name":"joke","class":"1","age":"18", "gender":"f"}, {"name":"mary","class":"2","age":"14", "gender":"f"},{"name":"kano","class":"2","age":"15", "gender":"m"},{"name":"ada","class":"1","age":"15", "gender":"f"},{"name":"bola","class":"2","age":"10", "gender":"f"},{"name":"nnamdi","class":"1","age":"15", "gender":"m"}]
d = sorted(d, key=operator.itemgetter("class","gender"))
outputList=[]
for i,g in itertools.groupby(d,key= operator.itemgetter("class","gender")):
    outputList.append(list(g))

参考
https://medium.com/swlh/grouping-list-of-dictionaries-by-specific-key-s-in-python-61edafbbc0ed

你可能感兴趣的:(python,笔记,list,数据结构)