'''
需求:
1.已知用户信息数据如下:
user_list = [
{'name':'张三','age': 22, 'title':'测试工程师'},
{'name':'李四','age':24,'title':'开发工程师'},
{'name': '王五','age': 21, 'title': '测试工程师'}
]
2.要求按照年龄对用户信息数据进行排序
'''
# 全局变量
user_list = [
{'name':'张三','age': 22, 'title':'测试工程师'},
{'name':'李四','age':24,'title':'开发工程师'},
{'name': '王五','age': 21, 'title': '测试工程师'}
]

#方法1
# 对列表中嵌套字典,进行排序的方法--- 列表.sort(key)
# 运用上匿名函数, 自定义名 = lambda a:a['age']
user_list.sort(key = lambda a:a['age'])
print(user_list)



# 方法2递归解决
'''
 len(n) =1, 不操作,返回 n 
 len(n) =2, 操作: 比较n[0]'age'大小 与n[1]/ 大的放前面 + 上一步结果.
'''

def sort1(list1):
    if len(list1)==1:
        return list1
    else:
        if list1[0]['age'] < list1[1]['age']:
            list1 = list1[1:] + [list1[0]]
            return [list1[0]] + sort1(list1[1:])

a = sort1((user_list))
print(a)