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))

  • 相关阅读:
    web-框架
    jQurey
    JavaScript
    css
    mysql:视图、触发器、事务、存储、函数、流程控制
    mysql-备份及关联python
    [原创]wireshark&xterm安装、配置和使用
    [原创]mininet安装
    [原创]OpenvSwitch安装
    [原创]Floodlight安装
  • 原文地址:https://www.cnblogs.com/pyyu/p/6705414.html
Copyright © 2011-2022 走看看