切片
概念:也就是我们经常遇到的截取字符串操作,也就是截取函数
由这个,我们其实不难想到,在C/C++中,我们经常采用for循环或者说是其他循环的方法来进行对数据的访问,当然,C++中STL中split()也可以实现分片,那么,python中的分片是怎么分的呢?在此,我做一个简单的笔记:
首先,在没有使用python分片技术时,我们取元素的方法:
L = [‘zhangsan’,’lisi’,’wangwu’]
[L[0],L[1],L[2]]
[‘zhangsan’, ‘lisi’, ‘wangwu’]
也可以利用循环技术,取前n个元数:
L = [‘zhangsan’,’lisi’,’wangwu’]
print [L[0],L[1],L[2]]
r=[]
n=3
for i in range(n):
r.append(L[i])
print r
接下来,我们用python的分片技术来进行:
print L[0:3]
表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。如果第一个索引是0,还可以省略
1. 取倒数第一个元素,那么他同样支持切片技术
print L[-1] #[‘lisi’]
print L[-2:-1] #[‘lisi’]
print L[-2:] #[‘lisi’, ‘wangwu’]
2.什么都不写,就代表的是原样复制一个list
print L[:] #[‘zhangsan’, ‘lisi’, ‘wangwu’]
这个就是python中的切片技术
迭代
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。
由这个,我们不免想到了我们在C++中的迭代器,在C++的STL中,我们用的最多的就是迭代器,这种迭代器类似于我们用的指针,迭代器的最重要的一个作用也就是我们的遍历,当然,我们在用这些迭代器的时候容易出现迭代器的实效问题,这个情况比较多,可以查看链接http://blog.csdn.net/Travelerwz/article/details/78870821进行查看;接下来,我们来看看python中的迭代。
看一下这个使用:
for ch in ‘ABC’:
print ch
A B C
使用两个变量:
for x,y in[(1,2),(3,4)] :
print x,y
1 2
3 4