Lambda 一些随笔(map filter)

dic = {'k1':10,'k2':100,'k3':30}

print(max(dic,key=lambda k:dic[k]))
#filter 过滤
res = filter(lambda x:x>10,[5,8,11,9,15])
for i in res:
    print(i)
#map 对原可迭代的元素进行操作
mres = map(abs,[5,8,11,9,-15])
for i in mres:
    print(i)

tu1 = (('a'),('b'))
tu2 = (('c'),('d'))
ret = zip(tu1,tu2)
res = map(lambda i:{i[0]:i[1]},ret)
for i in res:
    print(i)

name = ['alex','wupeiqi','yuanhao','nezha']
m = map(lambda i:i+'_sb',name)
print(list(m))

num = [1,3,5,6,7,8]
n = filter(lambda i:i%2==0,num)
print(list(n))
while 1:
    with open('fffs',encoding='utf-8') as f:
        lis = f.readlines()
        num = input('Please enter the page')
        if num.isdigit():
            pass
        else:
            print('Please enter a num')
            continue
        len_f = len(lis)
        num = int(num)
        page = divmod(len_f,5)[0]
        mod = divmod(len_f,5)[1]
        if mod!=0:
            if num<=page+1:
                pass
            else:
                print('你输入的号码太大了')
                continue
        else:
            if num <= divmod(len_f,5)[0]:
                pass
            else:
                print('你输入的号码太大了')
                continue
        out = filter(lambda i:i >=num*5-5 and i<num*5,range(0,len(lis)))
        for i in out:
            print(lis[i])


portfolio = [
    {'name': 'IBM', 'shares': 100, 'price': 91.1},
    {'name': 'AAPL', 'shares': 50, 'price': 543.22},
    {'name': 'FB', 'shares': 200, 'price': 21.09},
    {'name': 'HPQ', 'shares': 35, 'price': 31.75},
    {'name': 'YHOO', 'shares': 45, 'price': 16.35},
    {'name': 'ACME', 'shares': 75, 'price': 115.65}
 ]
ls = filter(lambda dic:dic['price']>100,portfolio)
print(list(ls))
dic = {'k1':10,'k2':100,'k3':30}

print(max(dic,key=lambda k:dic[k]))
#filter 过滤
res = filter(lambda x:x>10,[5,8,11,9,15])
for i in res:
    print(i)
#map 对原可迭代的元素进行操作
mres = map(abs,[5,8,11,9,-15])
for i in mres:
    print(i)

tu1 = (('a'),('b'))
tu2 = (('c'),('d'))
ret = zip(tu1,tu2)
res = map(lambda i:{i[0]:i[1]},ret)
for i in res:
    print(i)

name = ['alex','wupeiqi','yuanhao','nezha']
m = map(lambda i:i+'_sb',name)
print(list(m))

num = [1,3,5,6,7,8]
n = filter(lambda i:i%2==0,num)
print(list(n))
while 1:
    with open('fffs',encoding='utf-8') as f:
        lis = f.readlines()
        num = input('Please enter the page')
        if num.isdigit():
            pass
        else:
            print('Please enter a num')
            continue
        len_f = len(lis)
        num = int(num)
        page = divmod(len_f,5)[0]
        mod = divmod(len_f,5)[1]
        if mod!=0:
            if num<=page+1:
                pass
            else:
                print('你输入的号码太大了')
                continue
        else:
            if num <= divmod(len_f,5)[0]:
                pass
            else:
                print('你输入的号码太大了')
                continue
        out = filter(lambda i:i >=num*5-5 and i<num*5,range(0,len(lis)))
        for i in out:
            print(lis[i])


portfolio = [
    {'name': 'IBM', 'shares': 100, 'price': 91.1},
    {'name': 'AAPL', 'shares': 50, 'price': 543.22},
    {'name': 'FB', 'shares': 200, 'price': 21.09},
    {'name': 'HPQ', 'shares': 35, 'price': 31.75},
    {'name': 'YHOO', 'shares': 45, 'price': 16.35},
    {'name': 'ACME', 'shares': 75, 'price': 115.65}
 ]
ls = filter(lambda dic:dic['price']>100,portfolio)
print(list(ls))

 

posted on 2018-09-26 10:11  魔王李等猴哥的日子  阅读(175)  评论(0编辑  收藏  举报

导航