• Python基础07


    #!/bin/python3
    # -*- coding:utf-8 -*-
    from functools import reduce
    
    '''
    用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb
    '''
    name=['alex','wupeiqi','yuanhao']
    print([i for i in map(lambda n:n + 'sb',name)])
    
    '''
    用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
    '''
    l=[{'name':'alex'},{'name':'y'}]
    print([i for i in map(lambda n:n['name'] + 'sb' ,l)])
    
    '''
    用filter来处理,得到股票价格大于20的股票名字
    '''
    shares={
        'IBM':36.6,
        'Lenovo':23.2,
        'oldboy':21.2,
        'ocean':10.2,
    }
    print([i for i in filter(lambda n:shares[n] > 20, shares)])
    
    '''
    如下,每个小字典的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来得出一个包含数字的迭代器,数字指的是:购买每支股票的总价格
    print([i for i in map(lambda k:"%s : %.2f" %(k['name'],k['shares'] * k['price']) , portfolio)])
    
    # 2. 基于1的结果,用reduce来计算,购买这些股票总共花了多少钱
    m = map(lambda k:k['shares'] * k['price'] , portfolio)
    print([reduce(lambda j,k:j+k, m,0)])
    
    # 3. 用filter过滤出,单价大于100的股票有哪些
    print([i for i in filter(lambda l:l['price'] > 100,portfolio)])
    
  • 相关阅读:
    【WebGoat笔记】 CrossSite Scripting(XSS)
    SQL注入测试工具:Pangolin(穿山甲)
    SQL注入测试工具:Pangolin(穿山甲)
    js取两日期差,包含周六周日?
    CrossSite Scripting(XSS): 跨站脚本攻击介绍
    apmserv虚拟主机不能用set_time_limit(0);
    名称 不是有效的标识符 sql
    最佳的75个安全测试工具
    fzu 1686(DLX 重复点覆盖)
    hdu 3529(DLX)
  • 原文地址:https://www.cnblogs.com/anyanyaaaa/p/6704353.html
Copyright © 2020-2023  润新知