pythonfor循环加2_python-for循环

一、功能

for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

二、语法

for循环的一般格式如下:

for iter_var in iterable:

suite_to_repeat

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

python for循环实例

ContractedBlock.gif

ExpandedBlockStart.gif

msg="hello egon 666"

for i in(msg):print(i)

for循环,利用索引遍历出每一个字符

执行结果如下

ContractedBlock.gif

ExpandedBlockStart.gif

C:\Python36\python.exe C:/Users/张宁阳/Desktop/test/day7/作业.py

h

e

l

l

o

e

g

o

n6

6

6Process finished with exit code 0

View Code

遍历序列类型

ContractedBlock.gif

ExpandedBlockStart.gif

name_list=['alex','eric','rain','xxx']#通过序列项迭代

for i inname_list:print(i)#通过序列索引迭代

for i inrange(len(name_list)):print('index is %s,name is %s' %(i,name_list[i]))#基于enumerate的项和索引

for i,name in enumerate(name_list,2):print('index is %s,name is %s' %(i,name))

for循环遍历序列

遍历可迭代对象或迭代器:

迭代对象:就是一个具有next()方法的对象,obj.next()每执行一次,返回一行内容所有内容迭代完后,

迭代器引发一 个 StopIteration 异常告诉程序循环结束. for 语句在内部调用 next() 并捕获异常.

for循环遍历迭代器或可迭代对象与遍历序列的方法并无二致,只是在内部做了调用迭代器next(),并捕获异常,终止循环的操作

很多时候你根本无法区分for循环的是序列对象还是迭代器

>>> f=open('a.txt','r')for i inf:print(i.strip())

hello

everyone

sb

三、range()函数

如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列。

range()语法:

range(start,end,step=1):顾头不顾尾

range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10,2):指定start=1,end=10,step=2,生成可迭代对象,包含[1, 3, 5, 7, 9]

例如:

>>>for i in range(5):

...print(i)

...

01

2

3

4

注:for基于range()实现计数循环,range()生成可迭代对象,说明for循环本质还是一种迭代循环

你也可以使用range指定区间的值:

>>>for i in range(5,9) :print(i)5

6

7

8

>>>

您可以结合range()和len()函数以遍历一个序列的索引,如下所示:

ContractedBlock.gif

ExpandedBlockStart.gif

>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']>>> for i inrange(len(a)):

...print(i, a[i])

...

0 Google1Baidu2Runoob3Taobao4QQ>>>

View Code

四、for与break,continue,else

同while

ContractedBlock.gif

ExpandedBlockStart.gif

#break#continue

for i in range(10):if i == 4:#break

continue

print(i)for+else

for i in range(10):print(i)break

else:print('===>')

break、continue

五、实例

九九乘法表

for i in range(1,10):for j in range(1,i+1):print("%d*%d=%d" % (j, i, i * j), end=' ')print(' ')

albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')

years= (1976, 1987, 1990, 2003)#sorted:排序

for album insorted(albums):print(album)#reversed:翻转

for album inreversed(albums):print(album)#enumerate:返回项和

for i inenumerate(albums):print(i)#zip:组合

for i inzip(albums,years):print(i)

复制代码

六、小结

for循环为迭代循环

可遍历序列成员(字符串,列表,元组)

可遍历任何可迭代对象(字典,文件等)

可以用在列表解析和生成器表达式中

break,continue,else在for中用法与while中一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值