迭代序列的三种方法和与序列相关的内建函数

法一:通过序列项迭代

>>> nameList = ['Walter', "Nicole",'Steven','Henry']
>>> for eachName in nameList:
...     print eachName, "Lim"
... 
Walter Lim
Nicole Lim
Steven Lim
Henry Lim
法二:通过序列索引迭代

>>> nameList = ['Cathy', "Terry", 'Joe', 'Heather', 'Lucy']
>>> for nameIndex in range(len(nameList)):
...     print "Liu,", nameList[nameIndex]
... 
Liu, Cathy
Liu, Terry
Liu, Joe
Liu, Heather
Liu, Lucy
法三:使用项和索引迭代

>>> nameList = ['Donn', 'Shirley', 'Ben', 'Janice', 'David', 'Yen', 'Wendy']
>>> for i, eachLee in enumerate(nameList):
...     print "%d %s Lee" % (i+1, eachLee)
... 
1 Donn Lee
2 Shirley Lee
3 Ben Lee
4 Janice Lee
5 David Lee
6 Yen Lee
7 Wendy Lee
注:(1)enumerate()函数可以用在既要遍列索引又要遍列元素时可以使用.
     ( 2)range(start, end, step)其中start,end,step为三个整数,step为步长.start默认为0,step默认为1.一个参数的形式range(end)

     (3)xrange() 类似 range() , 不过当你有一个很大的范围列表时, xrange() 可能更为适合, 因为它不会在内存里创建列表的完整拷贝. 它只被用在 for 循环中, 在 for 循环外使用它没有意义。同样地, 你可以想到, 它的性能远高出 range(), 因为它不生成整个列表。

>>> a = range(1,10)
>>> print type(a)
<type 'list'>                                    可见range()会生成一个列表
>>> a = xrange(1,23)
>>> print type(a)
<type 'xrange'>                            而xrange不会生成一个列表

    (4)sorted()排序

    (5)reversed()反转

    (6)zip()可打印两个列表




你可能感兴趣的:(迭代序列的三种方法和与序列相关的内建函数)