pythonfor循环加2_python-for循环
一、功能
for 循環(huán)提供了python中最強(qiáng)大的循環(huán)結(jié)構(gòu)(for循環(huán)是一種迭代循環(huán)機(jī)制,而while循環(huán)是條件循環(huán),迭代即重復(fù)相同的邏輯操作,每次操作都是基于上一次的結(jié)果,而進(jìn)行的)
Python for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個列表或者一個字符串。
二、語法
for循環(huán)的一般格式如下:
for iter_var in iterable:
suite_to_repeat
注解:每次循環(huán), iter_var 迭代變量被設(shè)置為可迭代對象(序列, 迭代器, 或者是其他支持迭代的對 象)的當(dāng)前元素, 提供給 suite_to_repeat 語句塊使用.
python for循環(huán)實(shí)例
msg="hello egon 666"
for i in(msg):print(i)
for循環(huán),利用索引遍歷出每一個字符
執(zhí)行結(jié)果如下
C:\Python36\python.exe C:/Users/張寧陽/Desktop/test/day7/作業(yè).py
h
e
l
l
o
e
g
o
n6
6
6Process finished with exit code 0
View Code
遍歷序列類型
name_list=['alex','eric','rain','xxx']#通過序列項(xiàng)迭代
for i inname_list:print(i)#通過序列索引迭代
for i inrange(len(name_list)):print('index is %s,name is %s' %(i,name_list[i]))#基于enumerate的項(xiàng)和索引
for i,name in enumerate(name_list,2):print('index is %s,name is %s' %(i,name))
for循環(huán)遍歷序列
遍歷可迭代對象或迭代器:
迭代對象:就是一個具有next()方法的對象,obj.next()每執(zhí)行一次,返回一行內(nèi)容所有內(nèi)容迭代完后,
迭代器引發(fā)一 個 StopIteration 異常告訴程序循環(huán)結(jié)束. for 語句在內(nèi)部調(diào)用 next() 并捕獲異常.
for循環(huán)遍歷迭代器或可迭代對象與遍歷序列的方法并無二致,只是在內(nèi)部做了調(diào)用迭代器next(),并捕獲異常,終止循環(huán)的操作
很多時候你根本無法區(qū)分for循環(huán)的是序列對象還是迭代器
>>> f=open('a.txt','r')for i inf:print(i.strip())
hello
everyone
sb
三、range()函數(shù)
如果你需要遍歷數(shù)字序列,可以使用內(nèi)置range()函數(shù)。它會生成數(shù)列。
range()語法:
range(start,end,step=1):顧頭不顧尾
range(10):默認(rèn)step=1,start=0,生成可迭代對象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1,10):指定start=1,end=10,默認(rèn)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()實(shí)現(xiàn)計(jì)數(shù)循環(huán),range()生成可迭代對象,說明for循環(huán)本質(zhì)還是一種迭代循環(huán)
你也可以使用range指定區(qū)間的值:
>>>for i in range(5,9) :print(i)5
6
7
8
>>>
您可以結(jié)合range()和len()函數(shù)以遍歷一個序列的索引,如下所示:
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']>>> for i inrange(len(a)):
...print(i, a[i])
...
0 Google1Baidu2Runoob3Taobao4QQ>>>
View Code
四、for與break,continue,else
同while
#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
五、實(shí)例
九九乘法表
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:翻轉(zhuǎn)
for album inreversed(albums):print(album)#enumerate:返回項(xiàng)和
for i inenumerate(albums):print(i)#zip:組合
for i inzip(albums,years):print(i)
復(fù)制代碼
六、小結(jié)
for循環(huán)為迭代循環(huán)
可遍歷序列成員(字符串,列表,元組)
可遍歷任何可迭代對象(字典,文件等)
可以用在列表解析和生成器表達(dá)式中
break,continue,else在for中用法與while中一致
總結(jié)
以上是生活随笔為你收集整理的pythonfor循环加2_python-for循环的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python链表的创建_python数据
- 下一篇: python广告搞笑_技术入门 | 听说