1. 程式人生 > >python --- 根據某一元素進行分組,然後排序

python --- 根據某一元素進行分組,然後排序


#分組排序
def groups(name):
    groups = [] 
    uniquek = []
    name_dict = {}
    for n in name:
       key =  getkey(n)
       name_dict.setdefault(key,[]).append(n)
    for k,v in name_dict.iteritems():
        auc  = [(sorts(x),x) for x in v]
        auc.sort()
        name_dict[k] = [n for j,n in auc]
    return name_dict
#分組後的結果排序 
def sorts(name):
    res = re.compile(r'(\d+)')
    ps =  res.search(name)
    return  ps.group()

#分組
def getkey(name):
    f = name.split()[-1][0]
    return f