python的切片与迭代

来源:互联网 发布:网络堵塞怎么解决方法 编辑:程序博客网 时间:2024/05/16 23:36

这是从我的个人技术分享网站里面复制的

一、切片

切片就是只对list截取其中的某些片段,截取之后它仍然是list,tuple也可以切片,它切片之后仍然是tuple,请看如下的例子:


print "宋江:兄弟们,最近打算到东京去溜达一下,我只带五名保镖,要来的过来排队咯"zgc_list=['武松','鲁智深','公孙胜','柴进','吴用','李逵','燕青','刘唐','关胜','林冲','索超','花荣','萧让']print "武松:我抢在第一个,我肯定能去了吧,你看队形:"for i in zgc_list:print iprint "宋江:排在第一和最后的都不能去,第一的太冒进,最后的太懒散,排在第3至第7的兄弟跟我走一趟吧"success=zgc_list[2:7]ch=''for j in success:if(ch==''):ch=ch+jelse:ch=ch+'、'+jprint ch+"异口同声的唱着:说走咱就走啊,天上的星星参北斗啊"运行结果如下:宋江:兄弟们,最近打算到东京去溜达一下,我只带五名保镖,要来的过来排队咯武松:我抢在第一个,我肯定能去了吧,你看队形:武松鲁智深公孙胜柴进吴用李逵燕青刘唐关胜林冲索超花荣萧让宋江:排在第一和最后的都不能去,第一的太冒进,最后的太懒散,排在第3至第7的兄弟跟我走一趟吧公孙胜、柴进、吴用、李逵、燕青异口同声的唱着:说走咱就走啊,天上的星星参北斗啊

zgc_list[2:7]就是截取zgc_list的第2至第6个元素,注意zgc_list是从第0个位置开始的,同时切片操作中,zgc_list[2:7]不会取第7个位置上的元素,会取第2个位置上的元素

二、迭代

迭代就是用for循环将list或者tuple里面的元素一个一个的全部取出来进行计算,例子如下

import reprint "七大姑:我要发个喜帖,有一堆名字,后面都标注有性别,谁能帮我把女改成女士,没有标注的改成先生,具体如下:"zgc=["如花(女)","如玉(女)","周星星","洪七公","芙蓉姐(女)"]for j in zgc:print jzgc_new=[]for z in zgc:if(bool(re.search('(女)',z))):zgc_new.append(z[:-5]+"女士")else:zgc_new.append(z+"先生")print "八大姨:我已经给你弄好了,记得给我喜糖,修改后的名册如下:"for i  in zgc_new:print i运行结果如下:七大姑:我要发个喜帖,有一堆名字,后面都标注有性别,谁能帮我把女改成女士,没有标注的改成先生,具体如下:如花(女)如玉(女)周星星洪七公芙蓉姐(女)八大姨:我已经给你弄好了,记得给我喜糖,修改后的名册如下:如花女士如玉女士周星星先生洪七公先生芙蓉姐女士

上面的例子中,for j in zgc:就是用来迭代zgc这个list的

我要在线运行一下程序:

1
2
3
#!/usr/bin/python
# -*- coding: utf-8 -*-


0 0