• 3-25作业


    1、文件内容如下,标题为:姓名,性别,年纪,薪资
    egon male 18 3000
    alex male 38 30000
    wupeiqi female 28 20000
    yuanhao female 28 10000

    要求:
    从文件中取出每一条记录放入列表中,
    列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}的形式

    1 lt1 = ['name','sex','age','salary']
    2 dic2 = []
    3 with open('a.txt','r',encoding='utf-8')as fr:
    4     for lt2 in fr:
    5         lt2 = lt2.strip().split()
    6 
    7         dic = {k : v for k,v in zip(lt1,lt2)}
    8         dic2.append(dic)
    9 print(dic2)

    2 根据1得到的列表,取出所有人的薪资之和

    1 salary_list = [dic['salary'] for dic in dic_list]
    2 
    3 print(sum(salary_list))


    3 根据1得到的列表,取出所有的男人的名字

    1 for a in info 
    2 for b in a
    3 if a.get(b) == 'male'])
    4 print([a.get('name') 


    4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式

    1 new_l=map(lambda item:
    {'name':item['name'].capitalize(),'sex':item['sex'],'age':item['age'],'salary':item['salary']},l) 2 3 print(list(new_l))


    5 根据1得到的列表,过滤掉名字以a开头的人的信息

    1 new_info=[i for i in info if not i.get('name').startswith('a')]
    2 print(new_info)


    6 使用递归打印斐波那契数列(前两个数的和得到第三个数,如:0 1 1 2 3 4 7...)

    1 def fib(x,y):
    2        z=x+y
    3        print(x,end=" ")
    4        if y <= 100:
    5           fib(y,z)
    6 
    7 fib(0,1)


    7 一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用递归取出所有的值

    1 def f1(f):
    2     for x in f:
    3         if type(x) is list:
    4          
    5             f1(x)
    6         else:
    7             print(x)
    8 
    9 f1(l)
  • 相关阅读:
    CSS3学习笔记
    ie6对hover兼容性问题的解决:
    Maven-- 操作指南
    java基础 -- json多层转换成对象
    idea 导入maven项目
    工具的使用与安装--JAVA 环境变量的配置
    FreeMarker语言
    Apache Shiro 安全框架
    java基础--内部类
    java框架--Model层框架 sorm
  • 原文地址:https://www.cnblogs.com/2722127842qq-123/p/12568759.html
Copyright © 2020-2023  润新知