迭代序列有三种基本方法:

迭代序列有三种基本方法:
通过序列项迭代

nameList = [‘Walter’, “Nicole”, ‘Steven’, ‘Henry’]
for eachName in nameList:
… print eachName, “Lim”

Walter Lim
Nicole Lim
Steven Lim
Henry Lim
在上面的例子中, 我们迭代一个列表. 每次迭代, eacgName 变量都被设置为列表中特定某个元
素,
然后我们在代码块中打印出这个变量.
===通过序列索引迭代===
另个方法就是通过序列的索引来迭代:
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
我们没有迭代元素, 而是通过列表的索引迭代.
这里我们使用了内建的 len() 函数获得序列长度, 使用 range() 函数(我们将在下面详细讨
论它)创建了要迭代的序列.
len(nameList)
5
range(len(nameList))
Edit By Vheavens
Edit By Vheavens
[0, 1, 2, 3, 4]
使用 range() 我们可以得到用来迭代 nameList 的索引数列表; 使用切片/下标操作符( [ ] ),
就可以访问对应的序列对象.
如果你对性能有所了解的话, 那么毫无疑问你会意识到
直接迭代序列要比通过索引迭代快. 如果你不明白, 那么你可以仔细想想.
(参见练习 8-13).
===使用项和索引迭代===
两全其美的办法是使用内建的 enumerate() 函数, 它是 Python 2.3 的新增内容. 代码如下:
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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值