高级写法,你值得拥有,三元表达式

with open('db.txt') as f:
    items=(line.split() for line in f)  #先是生成列表
    info=[{'name':name,'sex':sex,'age':age,'salary':salary} \
          for name,sex,age,salary in items] #进行等差赋值生成字典

print(info)

比较值大小时得转换成int类型,否则比较的就是字符串

#2
print(max(info,key=lambda dic:int(dic['salary'])))  #逆命函数里面的变量名可以随便取

#3
print(min(info,key=lambda dic:int(dic['salary'])))

# 4 
info_new=map(lambda item:{'name':item['name'].capitalize(), #以info为参照,函数的返回值代替info作为新的字典
                          'sex':item['sex'],
                          'age':item['age'],
                          'salary':item['salary']},info)

print(list(info_new)) #对可迭代对象进行迭代

 

filiter过滤,去掉名字开头带a的字典

 

 

l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]]

无语了,递归做这么多次还是会卡住

 

小爬

第一种方法:

第二种方法:

 

posted @ 2023-03-09 19:49  无敌大帅逼  阅读(56)  评论(0)    收藏  举报