for ... in ...
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),長(zhǎng)汀企業(yè)網(wǎng)站建設(shè),長(zhǎng)汀品牌網(wǎng)站建設(shè),網(wǎng)站定制,長(zhǎng)汀網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,長(zhǎng)汀網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
//?for?...?in?字符串
for?i?in?'abc':
print(i)
'''
a
b
c
'''
//?for?...?in?數(shù)組
for?i?in?['a',?'b',?'c']:
print(i)
'''
a
b
c
'''
//?for?...?in?元組
for?i?in?('a',?'b',?'c'):
print(i)
'''
a
b
c
'''
//?for?...?in?字典(得到的是字典的key)
for?k?in?{'學(xué)號(hào)':30,'姓名':'小明'}:
print(k)
'''
姓名
學(xué)號(hào)
'''
//?for?...?in?字典.items()(得到的是字典的key,?value)
for?k,?v?in?{'學(xué)號(hào)':30,'姓名':'小明'}.items():
print(k,?v)
'''
姓名?小明
學(xué)號(hào)?30
'''
for ... in range(...)
//?for?...?in?range(num)
for?i?in?range(3):
print(i)
'''
1
2
'''
//?for?...?in?range(num1,?num2)
for?i?in?range(1,?3):
print(i)
'''
1
2
'''
//?for?...?in?range(num1,?num2,?num3)
for?i?in?range(3,?1,?-1):
print(i)
'''
3
2
'''
for?i?in?range(1,?5,?2):
print(i)
'''????????
1
3
'''
倒敘
for?i?in?reversed([1,2,3,4]):
print(i)
’‘’
4
3
2
1
‘’‘
又想得到遍歷次數(shù),又想得到數(shù)組值
for i,e in enumerate(array):
for?i,e?in?enumerate(['21dw',?55,?22,?'rw']):
print(i,?e)
'''
0?21dw
1?55
2?22
3?rw
'''
列表生成式
[...for ... in array]]
print([x?*?x?for?x?in?[2,?34,?324,?43]])
'''
[4,?1156,?104976,?1849]
'''
//相當(dāng)于
list?=?[]
for?x?in?[2,?34,?324,?43]:
list.append(x?*?x)
print(list)
for(a;b;c) a為初始化條件,b為判斷條件,成立就進(jìn)行for里面的,不成立直接退出。 c為條件變化。abc三個(gè)語(yǔ)句之間為分號(hào),可以為空語(yǔ)句,即不加任何信息。 b為判斷是否進(jìn)行的依據(jù),一般不要省,要不然會(huì)永遠(yuǎn)循環(huán)下去。 舉個(gè)例子: for(;;)永遠(yuǎn)運(yùn)行 for(;a100;){a++;}a長(zhǎng)到100的時(shí)候就會(huì)退出for循環(huán)了,只有中間加了,前面后面得語(yǔ)句隨意,但目的是要for有開(kāi)始也有結(jié)束,如下面兩種情況 for(int i = 0; i100; i++)循環(huán)100次 int i=0; for(;i100;){i++;}也是循環(huán)100次
編寫(xiě)循環(huán)的技巧,for循環(huán)包含了常見(jiàn)的計(jì)數(shù)器式循環(huán)。由于通常for循環(huán)比while循環(huán)更容易寫(xiě),也執(zhí)行得更快,所以for循環(huán)一般是你遍歷序列或其他可迭代對(duì)象時(shí)的首選。事實(shí)上,作為一條通用法則,你應(yīng)該克制在Python中使用計(jì)數(shù)方式的誘惑——Python提供的迭代工具,能幫你把像C這樣低級(jí)語(yǔ)言中循環(huán)集合體的工作自動(dòng)化。不過(guò),有些情況下你還是需要以更為特定的方式進(jìn)行迭代。例如,如果你需要在列表中每隔一個(gè)元素或每隔兩個(gè)元素進(jìn)行訪問(wèn),或是要同時(shí)修改列表呢?如果在同一個(gè)for循環(huán)內(nèi),并行遍歷一個(gè)以上的序列呢?如果你也需要進(jìn)行索引呢?
你總是可以用while循環(huán)和手動(dòng)索引運(yùn)算來(lái)編寫(xiě)這些獨(dú)特的循環(huán),但是python提供了一套內(nèi)置函數(shù),可以幫你在for循環(huán)內(nèi)定制迭代:·內(nèi)置函數(shù)range (Python 0.X及之后版本可用)返回一系列連續(xù)增加的整數(shù),可作為for中的索引。內(nèi)置函數(shù)zip (Python 2.0及之后版本可用)返回一系列并行元素的元組,可用于在for中內(nèi)遍歷多個(gè)序列。內(nèi)置函數(shù)enumerate (Python 2.3及之后版本可用)同時(shí)生成可迭代對(duì)象中元素的值和索引,因而我們不必再手動(dòng)計(jì)數(shù)。內(nèi)置函數(shù)map (Python 1.0及之后版本可用)在Python 2.X中與zip有著相似的效果,但是在3.X中 map 的這一角色被移除了。因?yàn)閒or循環(huán)可能會(huì)比基于while的計(jì)數(shù)器循環(huán)運(yùn)行得更快,所以借助這些工具并盡可能地使用for循環(huán),會(huì)讓你受益匪淺。讓我們?cè)诔R?jiàn)的使用場(chǎng)景下,依次看一看這些內(nèi)置函數(shù)吧。我們將會(huì)看到,它們的用法在Python 2.X和3.X中稍有不同,同時(shí)它們中的一些要比其他的更加有效。
#腳本里面直接這樣寫(xiě)就好了import randomdef R(): print (random.randint(1,1000))for i in range(1,10): R()