for ... in ...

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)浦北免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
//?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é)號':30,'姓名':'小明'}:
print(k)
'''
姓名
學(xué)號
'''
//?for?...?in?字典.items()(得到的是字典的key,?value)
for?k,?v?in?{'學(xué)號':30,'姓名':'小明'}.items():
print(k,?v)
'''
姓名?小明
學(xué)號?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)
編寫循環(huán)的技巧,for循環(huán)包含了常見的計數(shù)器式循環(huán)。由于通常for循環(huán)比while循環(huán)更容易寫,也執(zhí)行得更快,所以for循環(huán)一般是你遍歷序列或其他可迭代對象時的首選。事實上,作為一條通用法則,你應(yīng)該克制在Python中使用計數(shù)方式的誘惑——Python提供的迭代工具,能幫你把像C這樣低級語言中循環(huán)集合體的工作自動化。不過,有些情況下你還是需要以更為特定的方式進(jìn)行迭代。例如,如果你需要在列表中每隔一個元素或每隔兩個元素進(jìn)行訪問,或是要同時修改列表呢?如果在同一個for循環(huán)內(nèi),并行遍歷一個以上的序列呢?如果你也需要進(jìn)行索引呢?
你總是可以用while循環(huán)和手動索引運算來編寫這些獨特的循環(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)遍歷多個序列。內(nèi)置函數(shù)enumerate (Python 2.3及之后版本可用)同時生成可迭代對象中元素的值和索引,因而我們不必再手動計數(shù)。內(nèi)置函數(shù)map (Python 1.0及之后版本可用)在Python 2.X中與zip有著相似的效果,但是在3.X中 map 的這一角色被移除了。因為for循環(huán)可能會比基于while的計數(shù)器循環(huán)運行得更快,所以借助這些工具并盡可能地使用for循環(huán),會讓你受益匪淺。讓我們在常見的使用場景下,依次看一看這些內(nèi)置函數(shù)吧。我們將會看到,它們的用法在Python 2.X和3.X中稍有不同,同時它們中的一些要比其他的更加有效。
如果a(x)方法,return的是一個可序列化的對象(str,tuple,list等),則可以用。例如:
def?a(x):
s?=?"hello?"?+?x
return?s
for?i?in?a('Beijing'):
print?i
首先你的while循環(huán)為 ?while 1,也就是這是個死循環(huán),死循環(huán)你就必須設(shè)置一個條件讓他break
你輸入的不是name1或name2,由于沒有break的條件所以會一直print
修改如下:
def?name(x):
while?1:
if?x?==?"name1"?or?x?=="name2":
print?"hello?"?+?x
break
else:?
x?=?raw_input(".\n請輸入name1或者name2:")
return?"yo,boy"????
s=raw_input("輸入你的名字:\n")
ret?=?name(s)
print?ret
結(jié)果如下:
===============================
輸入你的名字:
ldl
.
請輸入name1或者name2:name2
hello name2
yo,boy
================================
輸入你的名字:
ldl
.
請輸入name1或者name2:name1
hello name1
yo,boy
#腳本里面直接這樣寫就好了import randomdef R(): print (random.randint(1,1000))for i in range(1,10): R()
文章名稱:Python循環(huán)一個函數(shù),python循環(huán)函數(shù)程序
分享URL:http://chinadenli.net/article15/dseipdi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化、建站公司、ChatGPT、企業(yè)建站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)