python学习zip(),map(),sort(),filter()/day13

x=[i for i in range(10)]
print(x)
y=(i for i in range(5))
print(y)
a=(True+3)
b=(False+7)
print(a)
print(b)

压缩
a=[1,2,3,4]
b="abcd"
c=zip(a,b)
for i in c:
    print(i)
"""
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
"""

a=[1,2]
b="abcd"
c=zip(a,b)
for i in c:
    print(i)
"""
(1, 'a')
(2, 'b')
"""

def deal(a):
    return a*a
b=[1,2,3,4]
x=map(deal,b)      #把b中的元素依次传进deal函数中去,然后函数中返回依次自乘得出的结果
for i in x:
    print(i)
"""
1
4
9
16
"""

a=[{"name":"张三","age":38},
   {"name":"李四","age":28},
   {"name":"王五","age":34},
   ]
def maxAge(a):
    return a["age"]
print(maxAge)              #<function maxAge at 0x0000000002042EA0>
x=max(a,key=maxAge)        #参数1是求谁中的最大值,参数2是以什么为参照求最大值
print(x)                   #{'name': '张三', 'age': 38}

sort的使用方式
a=[1,3,2,-9,-3,-2]
a.sort(key=abs)             #按照绝对值进行排序
print(a)                    #[1, 2, -2, 3, -3, -9]

自己添加的
a=[1,3,2,-9,8]
a.sort(key=abs,reverse=True) #先按照绝对值大小排序然后再倒序
print(a)                     #[-9, 8, 3, 2, 1]

filter()的使用方式
def dex(a):
    return a%2==1     #返回的值为True或者False
h=[1,2,3,4,5]

x=filter(dex,h)        #把为True的值存起来,为False的值过滤掉
print(x)               #<filter object at 0x0000000001E4A860>
for i in x:
    print(i)           #结果为1   3    5

猜你喜欢

转载自blog.csdn.net/qq_39112101/article/details/88239959
今日推荐