zoukankan      html  css  js  c++  java
  • 01-python进阶-拾遗

    列表复习
    append(x)追交到链尾
    extend(L)追加一个列表 等价于 +=
    insert(i,x)在位置i处插入x
    remove(x) 删除一个值为x的元素 如果没有抛出异常
    sort() 直接修改列表为排序过的
    sorted(L) 返回排序后的L

    元祖 一旦初始化便不能修改的数据结构 比列表快
    集合 (set) 无序不重复的元素集 不保证是有序
    字典(dict) 关键字不可变类型 如字符串 整数 只包含 不可变对象的元祖

    关于字典 功能非常强大 我们可以做的事情很多比如

    def leijia(x,y):
        a = 0
        for i in xrange(x,y+1):
            a += i
        return a
    def plus(x,y):
        return  x+y
    
    matruix = {
        '+':plus,
        'leijia':leijia,
    
    }
    
    
    def size(x,oper,y):
        return matruix[oper](x,y)
    
    print(size(1,'leijia',2))
    

    我们可以做一个switch case的模式

    #filter

    a = [1,2,3,4]

    filter(lamda x:x%2,a)

    [1,3]

    #map 返回序列 为对原序列每个元素分别调用function获得的可以传入多个序列 但是function 也要有相应多的参数

     map(lambda x,y,z:x+y+z,range(1,3),range(3,5),range(5,7))

    计算过程  1+3+5 = 9 2+4+6=12 结果 [9,12]

    接下来我们要实现

    l1 = [1,2,3,4]
    oper = ['+','-','leijia','*']
    l2 = [2,44,55,66]

    #l1[0] "oper[0]" l2[0]=? ...


    def plus(x,y):
    return x+y

    def jian(x,y):
    return x-y

    def leijia(x,y):
    a = 0
    for i in(x,y):
    a +=1

    return a

    def size(x,oper,y):
    return my_dict[oper](x,y)

    def chengji(x,y):
    return x*y
    my_dict = {
    '+':plus,
    '-':jian,
    'leijia':leijia,
    '*':chengji,}

    l1 = [1,2,3,4]
    oper = ['+','-','leijia','*']
    l2 = [2,44,55,66]
    #L1[0] "oper[0]" L2 = ? ....

    res = map(size,l1,oper,l2)
    print(list(res))

     结果是[3, -42, 2, 264]

    #reduce

    reduce(function,sequence,[init])

    返回一个单值为,计算步骤为:

    1 第一个结果=function(sequence[0],squence[1])

    2第二个结果=function(第一个的结果,sequence[2])

    3返回最后一个计算得值

    4 如果有init 则先调用 function(init,sequence[0])

    5 sequence 只有一个元素时候,返回该元素 为空时抛出异常

    如 reduce(lambda x,y:x+y,range(3),99)的计算过程为

    99+0 =99=》99+1=100=》100+2返回102

    住 实际使用过程中建议使用内建函数sum来完成这个累加更合适 这里等价为 sum(range(3),99)

    #zip 用于多个sequence的循环

  • 相关阅读:
    a冲刺总结随笔
    a版本冲刺第十天
    a版本冲刺第九天
    a版本冲刺第八天
    a版本冲刺第七天
    a版本冲刺第六天
    a版本冲刺第五天
    BETA 版冲刺前准备
    Alpha事后诸葛会议
    Alpha答辩总结
  • 原文地址:https://www.cnblogs.com/nerdlerss/p/7102832.html
Copyright © 2011-2022 走看看