python08-内置函数(max,min,sorted,zip)

9:40 2019/1/15/周二
//求和。
li=list("123456789")
li_change=[]
for i in li:
    res=int (i)
    li_change.append(res)
print(sum(li_change))

//zip()拉链函数,输入的2个值一一对应。
p={"name":"azk","age":18,"sex":"boy"}
res=list(zip(p.keys(),p.values()))
print(res)
for i ,j in enumerate(res):
    print(i,j)

结果:
[('age', 18), ('name', 'azk'), ('sex', 'boy')]
0 ('age', 18)
1 ('name', 'azk')
2 ('sex', 'boy')


//max用法:
p=["a10","a11"]
print(max(p))
结果:a11

//
p=["a10","a11",10]
print(max(p))
结果:出错。//不同数据类型不可以进行比较。

//max()用法,

people=[{"name":"azk","age":15},
        {"name":"zs","age":16},
        { "name":"cjm","age":17},
        ]
print(max(people,key=lambda dic:dic["age"]))//这里面的key必须用key
结果:{'name': 'cjm', 'age': 17}
//print(pow(2,3))//传入的是2个参数。直接执行的是2的3次方。
结果:8.
print(pow(2,3,5))//传入的值是3个参数表示的2的3次方然后在对5取余数。
结果:3

//反转:
li=[1,2,3,4,5]
print(li.reverse())//只是对自身反转,返回值是空
print(li)//上一步已经修改了当前数组的位置。
print(list(reversed(li)))//又一次反转。
结果:
None
[5, 4, 3, 2, 1]
[1, 2, 3, 4, 5]

//sort()//不同数据类型不可以排序。
li=[1,5,6,2,3,7,0]
print(sorted(li))//修改里面的值是一个对象。
print(li.sort())//自己调用函数,则是在自己的基础上修改,打印出来的是None ,这个时候li列表里面的排序已经发生了变化,这个和reversed(反转有点类似)
print(li)
结果:
[0, 1, 2, 3, 5, 6, 7]
None
[0, 1, 2, 3, 5, 6, 7]

sort()用法二:
people={"age":"azk","name":15}
people2={"name":"azk","age":15}
msg={"azk":18,"zs":16,"cjm":17}
#sorted(people,key=lambda key:people[key])
res=sorted(msg,key=lambda  key:msg[key])
print(res)
set1={}
for i in res:
    for j in msg:
        if i==j:
            set1[i]=msg[j]
            print(set1)
print(set1)
结果:
['zs', 'cjm', 'azk']
{'zs': 16}
{'zs': 16, 'cjm': 17}
{'zs': 16, 'azk': 18, 'cjm': 17}
{'zs': 16, 'azk': 18, 'cjm': 17}//如果用直接在字典中进行赋值,它更新的值位置不确定。
如果非得一一对应则:
msg={"mzk":18,"zs":16,"cjm":17}
#sorted(people,key=lambda key:people[key])
res=sorted(msg,key=lambda  key:msg[key])
print(sorted(zip(msg.values(),msg.keys())),type(sorted(zip(msg.values(),msg.keys()))))
结果:[(16, 'zs'), (17, 'cjm'), (18, 'mzk')] <class 'list'>//列表类型

import 

猜你喜欢

转载自blog.csdn.net/qq_37431752/article/details/86498308