高级写法,你值得拥有,三元表达式
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]]]]]]]
无语了,递归做这么多次还是会卡住
小爬
第一种方法:
第二种方法: