day14
- 文件内容如下,标题为:姓名,性别,年纪,薪资
egon male 18 3000
alex male 38 30000
wupeiqi female 28 20000
yuanhao female 28 10000
要求:
从文件中取出每一条记录放入列表中,列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}
的形式
f=open('E:\\test.txt','r',encoding='utf-8')
date=f.read()
useinfo=date.split('\t\n')
title=['name','sex','age','salary']
useinfos=[]
for suse in useinfo:
suse.strip('\n\n\t')
use=suse.split()
if not use:
continue
info={}.fromkeys(['name','sex','age','salary'],None)
for i in range(4):
info[title[i]]=use[i]
useinfos.append(info)print('1、文件中取出的信息列表:')
print('\t',useinfos)
-
根据1得到的列表,取出薪资最高的人的信息
max_sal=max(uaeinfos,key=lambda x:x['salary']) print('2,工资多的') print('\t',max_sal)
-
根据1得到的列表,取出最年轻的人的信息
min_sal=min(useinfos,key=lambda x:x['age']) print('年龄小') print('\t',min_sal)
-
根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
for iter in useinfos: iter,update({'name':iter['name'].capitalize()}) print('名字映射成首字母大写:') print('\t',list(useinfos))
-
根据1得到的列表,过滤掉名字以a开头的人的信息
filter_name=filter(lambda x : x['name'][0]!='a' ,useinfos) print('5、过滤掉首字母为a的人的信息后结果:') print('\t',list(filter_name))
-
使用递归打印斐波那契数列(前两个数的和得到第三个数,如:0 1 1 2 3 4 7...)
def my_sun(a,b,stop): if a > stop: return print(a, end= ' ') my_sun(b, a + b,stop) print('6、使用递归打印斐波那契数列: ') my_sun(0, 1, 10) print()
-
一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用递归取出所有的值