'''
要求:
从文件中取出每一条记录放入列表中,列表的每个元素都是`
{'name':'egon','sex':'male','age':18,'salary':3000}`的形式
'''
all_user_list=[]
with open('user_info.txt','r',encoding='utf-8') as f:
for per_info in f:
per_user_dic = {}
name,sex,age,salary=per_info.strip().split()
per_user_dic['name']=name
per_user_dic['sex']=sex
per_user_dic['age']=int(age)
per_user_dic['salary']=int(salary)
all_user_list.append(per_user_dic)
print(all_user_list)
# 1. 根据1得到的列表,取出薪资最高的人的信息
print(max(all_user_list,key=lambda per_user_dic:per_user_dic['salary']))
# 2.根据1得到的列表,取出最年轻的人的信息
print(min(all_user_list,key=lambda per_user_dic:per_user_dic['age']))
# 3.根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
print(list(map(lambda per_user_dic:{per_user_dic['name'].capitalize():name,per_user_dic['sex']:sex,
per_user_dic['age']:int(age),per_user_dic['salary']:int(salary)},all_user_list)))
# 4. 根据1得到的列表,过滤掉名字以a开头的人的信息
print(list(filter(lambda per_user_dic:per_user_dic['name'].startswith('a'),all_user_list)))