# 1、文件内容如下,标题为:姓名,性别,年纪,薪资 # 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}的形式 l = [] with open('a.txt',mode='r',encoding='utf-8') as f: for line in f: name, sex, age, salary = line.strip().split() d = {'name': name,'sex': sex,'age': int(age),'salary': int(salary)} l.append(d) print(l) # 2 根据1得到的列表,取出所有人的薪资之和 res = sum(i['salary'] for i in l) print(res) # 3 根据1得到的列表,取出所有的男人的名字 res = [i['name'] for i in l if i['sex'] == 'male'] print(res) # 4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式 res = [i['name'].capitalize() for i in l] print(res) # 5 根据1得到的列表,过滤掉名字以a开头的人的信息 res = [i for i in l if not i['name'].startswith('a')] print(res) # 6 使用递归打印斐波那契数列(前两个数的和得到第三个数,如:0 1 1 2 3 5 8...) def math(a,b,c): if a < c: print(a) a, b = b, a + b math(a,b,c) else: return math(0,1,10) # 7 一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用递归取出所有的值 l =[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]] def new_l(l): for i in l: if type(i) is list: new_l(i) else: print(i) new_l(l)
来源:https://www.cnblogs.com/yding/p/12571895.html