内置、匿名函数及递归

文件解析与数据操作实战

1 文件 a.txt 内容如下,标题为:姓名,性别,年纪,薪资

egon male 18 3000
alex male 38 30000
wupeiqi female 28 20000
yuanhao female 28 10000

要求:
1、 从文件中取出每一条记录放入列表中,列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}的形式
2、 根据1得到的列表,取出薪资最高的人的信息
3、 根据1到的列表,取出最年轻的人的信息
4、 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
5、 根据1得到的列表,过滤掉名字以a开头的人的信息
6、 使用递归打印斐波那契数列  0 1 1 2 3 5 8... (前两个数的和得到第三个数)


goods = []
with open('a.txt',encoding = 'utf-8') as f:
    for line in f:
        l = line.split()
        goods.append({'name':l[0], 'sex':l[1], 'age':int(l[2]), 'salary':float(l[3])})
    print(goods)


print('薪资最高'.center(50,'='))
print(max(goods,key=lambda x:x['salary']))
print('最年轻的人'.center(50,'='))
print(min(goods,key=lambda x:x['age']))
print('名字首字母大写'.center(50,'='))
print(list(map(lambda x:x['name'].capitalize(),goods)))
print('名字以a开头'.center(50,'='))
print(list(filter(lambda x:x['name'].startswith('a'),goods)))


# Fibonacci numbers module

# def fib(n):     # write Fibonacci series up to n
#     a, b = 1, 0
#     while b < n:
#         print(b, end=' ')
#         a, b = b, a + b
#     print()
#
# fib(100)


# def fib2(n):    # return Fibonacci series up to n
#     result = []
#     a, b = 1, 0
#     while b < n:
#         result.append(b)
#         a, b = b, a + b
#     return result
#
# print(fib2(100))

# fibs = [0, 1]
# numZS = input('How many Fibonacci numbers do you want? ')
# for i in range(int(numZS)-2):
#     fibs.append(fibs[-2] + fibs[-1])
# print(fibs)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值