码迷,mamicode.com
首页 > 编程语言 > 详细

Python定义可变参数与list切片

时间:2017-06-30 00:58:09      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:log   代码   定义   一行代码   简化   blog   pre   第一个   range   

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

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。倒序切片包含起始索引,不包含结束索引。

 

Python定义可变参数与list切片

标签:log   代码   定义   一行代码   简化   blog   pre   第一个   range   

原文地址:http://www.cnblogs.com/taisuyuanqing/p/7096857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!