python for循环

python提供的for语句,可以用在列表解析和生成器表达式中,它会自动地调用迭代器的next()方法,捕获StopIteration异常并结束循环(所有这一切都是在内部发生的)。

大部分编程语言提供的for循环,通常只接受一个计数器变量,且该变量必须为数字,循环每执行一次,计算器值就改变一次(每次改变的量相同)。python,for循环由于能够直接对序列进行循环,因此python的for循环要比那些传统的for循环更加灵活。

一般语法

for循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素,并在所有条目都处理过后 结束循环,它的语法如下:

for iter_var in iterable:
    suite_to_repeat
每次循环,iter_var迭代变量被设置为可迭代对象(序列、迭代器或其他支持迭代的对象)的当前元素,提供给suite_to_repeat语句块使用。

用于序列类型

用for循环迭代不同的序列对象。样例将涵盖字符串、列表及元组。

for eachLetter in 'Names':
    print 'current letter: ', eachLetter



1. 通过序列项迭代

nameList=["Walter", "Nicole", "Steven", "Henry"]
for eachName in nameList:
    print eachName


每次迭代,eachName变量都被设置为列表中特定某个元素。

2. 通过序列索引迭代

nameList=["Walter", "Nicole", "Steven", "Henry"]
for nameIndex in range(len(nameList)):
    print nameList[nameIndex]


直接迭代序列要比通过索引迭代快。

3. 使用项和索引迭代

两全其美的办法是使用内建的enumerate()函数。

nameList=["Walter", "Nicole", "Steven", "Henry"]
for i, eachName in enumerate(nameList):
    print "%d %s " % (i+1,eachName)






#演示用for循环操作字符串
word=raw_input("Enter a word: ")
print("\nHere's each letter in your word:")
for letter in word:
    print(letter)
输出结果:


for i in range(10):
    print(i,end=" ")

for i in range(0,50,5):
    print(i,end=" ")
输出:


for i in range(10,0,-1):
    print(i,end=" ")
输出:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值