zoukankan      html  css  js  c++  java
  • day25 map,filter,reduce 内置函数,作业

    =====================作业一
    #用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb
    name=['alex','wupeiqi','yuanhao']
    #######################################################
    def name_sb(x):
    return x+'_sb'#加 _sb 的函数
    res=map(name_sb,name)
    print(list(res))
    #######################################################
    res=(list(map(lambda x:x+'_sb',name)))
    print(res)
    #######################################################

    #用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
    l=[{'name':'alex'},{'name':'y'}]
    #######################################################
    l=[{'name':'alex'},{'name':'y'}]
    def name_sb(x):
    return x['name'] + '_sb'
    res=list(map(name_sb,l))
    print(res)
    #######################################################
    res=(list(map(lambda x:x['name']+'_sb',l)))
    print(res)
    #######################################################


    =====================作业二
    #用filter来处理,得到股票价格大于20的股票名字
    shares={
    'IBM':36.6,
    'Lenovo':23.2,
    'oldboy':21.2,
    'ocean':10.2,
    }
    ##################################################
    res=list(filter(lambda d:shares[d]>20,shares))
    print(res)
    ##################################################


    =====================作业三
    #如下,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格
    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}
    ]

    1:map来得出一个包含数字的迭代器,数字指的是:购买每支股票的总价格
    ########################################
    res=list(map(lambda x:x['shares'] * x['price'],portfolio))
    print(res)
    #############################################

    2:基于1的结果,用reduce来计算,购买这些股票总共花了多少钱
    #########################################
    from functools import reduce
    res=reduce(lambda x,y:x+y,res)
    print(res)
    #########################################
    3:用filter过滤出,单价大于100的股票有哪些

    res=filter(lambda x:x['price']>100 ,portfolio)
    print(list(res))

  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/pyyu/p/6705414.html
Copyright © 2011-2022 走看看