• 小练习


    data = '''egon male 18 3000
    alex male 38 30000
    wupeiqi female 28 20000
    yuanhao female 28 10000'''
    with open('作业_14.txt','w',encoding='utf8') as fw:
        fw.write(data)
    
    #1.从文件中取出每一条记录放入列表中,列表的每个元素都是`{'name':'egon','sex':'male','age':18,'salary':3000}`的形式
    lt1 = []
    title = ['name','sex','age','salary']
    with open('作业_14.txt','r',encoding='utf8') as fr:
        for i in fr:
            lti = i.strip().split(' ')
            dici = {m:n for m,n in zip(title,lti)}
            lt1.append(dici)
    print(lt1)
    
    #2.根据1得到的列表,取出薪资最高的人的信息
    res1 = max(lt1,key=lambda i:i[title[-1]])
    print(res1)
    
    #3.根据1得到的列表,取出最年轻的人的信息
    res2 = min(lt1,key=lambda i:i[title[2]])
    print(res2)
    
    #4.根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
    res3 = list(map(lambda i:i[title[0]].title(),lt1))
    print(res3)
    
    #5.根据1得到的列表,过滤掉名字以a开头的人的信息
    res4 =list(filter(lambda i:i[title[0]][0]!='a',lt1))
    print(res4)
    
    #6.使用递归打印斐波那契数列(前两个数的和得到第三个数,如:0 1 1 2 3 5 8...)
    def fbnq(x):
        if x == 1:
            return 0
        if x == 2:
            return 1
        return fbnq(x-1)+fbnq(x-2)
    print(fbnq(7))
    
    #7.一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用递归取出所有的值
    
    
  • 相关阅读:
    SAP中主数据和单据的删除
    如何在kubernetes中使用Spring Cloud微服务
    认识AngularJs
    最全面的水平居中方案跟flexbox布局
    浅谈背景图片的填充
    Html、Css、JavaScript、Dom细节总结
    innerText跟innerHtml的区别
    解决悬浮的<header>、<footer>遮挡内容的处理技巧
    怎样发布NodeJs项目
    安装grunt
  • 原文地址:https://www.cnblogs.com/-406454833/p/11588621.html
Copyright © 2020-2023  润新知