首页 > 代码库 > Python定义可变参数与list切片
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。倒序切片包含起始索引,不包含结束索引。
Python定义可变参数与list切片
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。