python--004--函数(zip、min、max)

1)zip函数,zip中传的是序列,像拉链.一一对应组成元组

p={'name':'peiqi',"age":18,'gender':'none'}
print(list(zip(p.keys(),p.values())))
print(list(zip('hello','12345')))

#output:
#[('name','peiqi'),('age',18),('gender','none')]
#[('h','1'),('e','2'),('l','3'),('l','4'),('o','5')]

2)max()、min()
传入的数据类型必须要为可迭代类型,基本原理就是for循环取出每一个值,进行比较,注意:不同类型之间不能进行比较
比较时,从第一个元素进行比较,如果第一个元素已经分出大小了,后面的都不需要比较了,直接得出这俩元素的大小

l=[
(5,'e'),
(1,'b'),
(3,'a'),
(4,'d')
]
#ll=['a10','b12','100']#不同类型之间不能进行比较
ll=['a10','a2','a10']
print(max(ll))
#output:a2
#eg要求:取年龄最大的值,并打印出该年龄对应的人
age_dic={'peiqi_age':18,"qiaozhi":10,"dad_age":50,"mami":40}
print('====>',list(max(zip(age_dic.values(),age_dic.keys()))))

max后可以跟一个函数,如下:

#max后可以跟一个函数,如下:
people=[
{'name':'peiqi','age':1000},
{'name':'qiaozhi','age':10000},
{'name':'dad','age':9000},
{'name':'mami','age':16}
]

print('result',max(people,key=lambdadic:dic['age']))

#output:
#result{'name':'qiaozhi','age':10000}

 

posted @ 2019-04-15 22:36  会长大的  阅读(219)  评论(0编辑  收藏  举报