您的位置:首页 > 编程语言 > Python开发

Python中列表的遍历

2014-03-03 14:00 260 查看
1.for语句的用法

在C++中,常用如下遍历方式:

for(int i=0; i<len; ++i){
cout<<arr[i]<<" ";
}


而在Python中常用循环对象来遍历列表,在这里,for结构自动调用next()方法,将该方法的返回值赋予给循环对象it。循环知道出现StopIteration的时候结束。相对于序列,用循环对象的好处在于:不用在循环还没有开始的时候,就生成好要使用的元素。所使用的元素可以在循环过程中逐次生成。这样,节省了空间,提高了效率,编程更灵活。

for it in lst:  ##自动调用迭代器,自动检测StopIteration
print(it)


在上面的程序中,无法知道当前访问元素的索引,于是有如下代码:

for i in range(len(lst)):
print(lst[i])


同时需要索引,又结合迭代器,就可以采用内置的enumerate函数,代码如下:

for index, it in enumerate(sequence):
process(index, it)


2.表推导方法

      表推导(list comprehension)是快速生成表的方法。它的语法简单,很有实用价值。

L = [x**2 for x in range(10)]




3.zip函数

如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:

ta = [1,2,3]
tb = [9,8,7]
tc = ['a','b','c']
for (a,b,c) in zip(ta,tb,tc):
print(a,b,c)


每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c
name = ['lsj','sps','sjn']
number = [123,4,5]

noteBook = []
for pair in zip(name,number):
noteBook.append(pair)
print noteBook
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 列表遍历