Operation Python dictionaries list

1. List existing dictionary (dictionary is the list element format) to sort

# coding=UTF-8

"""要求:按倒序排序"""
group_list = [{'group_code': 22, 'group_name': 'dev'},
              {'group_code': 5, 'group_name': 'design'},
              {'group_code': 34, 'group_name': 'sale'},
              {'group_code': 15, 'group_name': 'manager'}]

# 1.sorted函数
# 首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。
# 其中iterable表示可以迭代的对象,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,
# reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false。
group_list = sorted(group_list, key=lambda x: x['group_code'], reverse=True)
print group_list


# 2.list的sort()方法
group_list.sort(key=lambda x: x['group_code'], reverse=True)
print group_list



# 3.使用operator的itemgetter进行排序
import operator
group_list = sorted(group_list, key=operator.itemgetter('group_code'), reverse=True)
print group_list

2. The classification dictionary list structure (i.e. packet key, the key value associated with the each key)

"""按学校分组,将该校校友关联到对应学校"""
school_student_info_list = [{'school_code': 'WH', 'student_id': 1},
                            {'school_code': 'WH', 'student_id': 2},
                            {'school_code': 'WH', 'student_id': 3},
                            {'school_code': 'WH', 'student_id': 4},
                            {'school_code': 'HU', 'student_id': 11},
                            {'school_code': 'HU', 'student_id': 12},
                            {'school_code': 'HU', 'student_id': 13},
                            {'school_code': 'HU', 'student_id': 14},
                            {'school_code': 'HTU', 'student_id': 21},
                            {'school_code': 'HTU', 'student_id': 22},
                            {'school_code': 'HTU', 'student_id': 23},
                            {'school_code': 'WTU', 'student_id': 31},
                            {'school_code': 'WTU', 'student_id': 32},
                            ]
import collections
# 根据查询到的数据构造{school_name1: [student_id1,student_id2,...], school_name2:[student_id3,...]}字典
school_student_dict = collections.defaultdict(list)  # 给字典赋默认值为空列表
for group in school_student_info_list:
    school_student_dict[group['school_code']].append(group['student_id'])
print school_student_dict  # {'HTU': [21, 22, 23], 'HU': [11, 12, 13, 14], 'WTU': [31, 32], 'WH': [1, 2, 3, 4]}
Published 146 original articles · won praise 66 · views 50000 +

Guess you like

Origin blog.csdn.net/qq_38923792/article/details/103915150