• Python定义可变参数与list切片


    一:如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:

    def fn(*args):
        print args

    Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args看成一个 tuple 就好了。

    二:list切片

    取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:

    xingqi=["微信","支付宝","apple","华为","星期一","mon","星期二","tus"];
    r=[];
    n=5;
     for i in range(n):
         r.append(xingqi[i]);
    
    print (r);

    对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。

    对应上面的问题,取前3个元素,用一行代码就可以完成切片:

    取前1-4个元素,用一行代码就可以完成切片:
    print (xingqi[1:4])
    >>['支付宝', 'apple', '华为']
    
    全部
    print (xingqi[:])
    >>['微信', '支付宝', 'apple', '华为', '星期一', 'mon', '星期二', 'tus']
    第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。 print (xingqi[::
    3]) ['微信', '华为', '星期二']

     三:倒叙切片

    对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:

    >>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
    
    >>> L[-2:]
    ['Bart', 'Paul']
    
    >>> L[:-2]
    ['Adam', 'Lisa']
    
    >>> L[-3:-1]
    ['Lisa', 'Bart']
    
    >>> L[-4:-1:2]
    ['Adam', 'Bart']

    记住倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。

  • 相关阅读:
    java 实现Queue
    java 实现stack
    为什么现货白银/现货原油的报价每个交易所都不一样?
    现货交易入门之常用术语
    现货操盘手精髓语录
    现货电子交易中实物交割的概念和作用?
    关于ios对rtsp格式的流媒体支持的一些官方说明
    ProgressBar的Indeterminate属性
    安卓适配问题
    推送原理
  • 原文地址:https://www.cnblogs.com/taisuyuanqing/p/7096857.html
Copyright © 2020-2023  润新知