码迷,mamicode.com
首页 > 编程语言 > 详细

python之路--day13---函数--三元表达式,递归,匿名函数,内置函数-----练习

时间:2018-04-02 23:48:33      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:post   type   int   max   标题   python   匿名函数   lex   split   

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}的形式

2 根据1得到的列表,取出薪资最高的人的信息
3 根据1得到的列表,取出最年轻的人的信息
4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
5 根据1得到的列表,过滤掉名字以a开头的人的信息
6 使用递归打印斐波那契数列(前两个数的和得到第三个数,如:0 1 1 2 3 4 7...)

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

 1 data = []
 2 with open(ceshi.txt,r,encoding=utf-8) as f:
 3     for line in f:
 4         i= line.strip(\n).split( )
 5         dic = {
 6             name:i[0],
 7             sex:i[1],
 8             age:int(i[2]),
 9             salary:int(i[3])
10         }
11         data.append(dic)
12 
13 # [{‘name‘: ‘egon‘, ‘sex‘: ‘male‘, ‘age‘: 18, ‘salary‘: 3000}, \
14 #  {‘name‘: ‘alex‘, ‘sex‘: ‘male‘, ‘age‘: 38, ‘salary‘: 30000}, \
15 #  {‘name‘: ‘wupeiqi‘, ‘sex‘: ‘female‘, ‘age‘: 28, ‘salary‘: 20000},\
16 #  {‘name‘: ‘yuanhao‘, ‘sex‘: ‘female‘, ‘age‘: 28, ‘salary‘: 10000}]
17 
18 res=max(data,key=lambda x: x[salary])
19 res1=min(data,key=lambda x: x[age])
20 
21 res2=map(lambda x: {name:x[name].capitalize(),
22             sex: x[sex],
23             age: x[age],
24             salary: x[salary]},
25                 data)
26 
27 
28 res3 = filter(lambda x:not x[name].startswith(a),data)
29 
30 
31 #非递归
32 def fib(n):
33     a,b=0,1
34     while a < n:
35         print(a,end= )
36         a,b=b,a+b
37     print()
38 
39 fib(10)
40 #递归
41 def fib(a,b,stop):
42     if  a > stop:
43         return
44     print(a,end= )
45     fib(b,a+b,stop)
46 
47 fib(0,1,10)
l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]]

def list1(x):
    for item in x:
        if  not type(item) == list:
            print(item)
        else:
           list1(item)

 

python之路--day13---函数--三元表达式,递归,匿名函数,内置函数-----练习

标签:post   type   int   max   标题   python   匿名函数   lex   split   

原文地址:https://www.cnblogs.com/guodengjian/p/8698503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!