Python 學習筆記十四 迴圈高階

2022-01-30 17:21:34 字數 868 閱讀 3097

在python中,for迴圈後的in跟隨乙個序列的話,迴圈每次使用的序列元素,而不是序列的下標。

我們繼續開發range的功能,以實現下標對迴圈的控制:

s = 'abcdefghj'

for i in range(0,len(s),3):

print(i,s[i])

在該例子中,我們利用len()函式和range()函式,用i作為s序列的下標來控制迴圈。在range函式中,分別定義上限,下限和每次迴圈的步長。這就和c語言中的for迴圈相類似了。

利用enumerate()函式,可以在每次迴圈中同時得到下標和元素:

s = 'abcdefghj'

for (seq,char) in enumerate(s):

print(seq)

print(char)

實際上,enumerate()在每次迴圈中,返回的是乙個包含兩個元素的定值表(tuple),兩個元素分別賦予seq和char

如果你多個等長的序列,然後想要每次迴圈時從各個序列分別取出乙個元素,可以利用zip()方便地實現:

temp_a = (1,2,3)

temp_b = ['a',2,3]

temp_c = (1,'oliver',3)

for (a,b,c) in zip(temp_a,temp_b,temp_c):

print(a,b,c)

每次迴圈時,從各個序列分別從左到右取出乙個元素,合併成乙個tuple,然後tuple的元素賦予給a,b,c

螢幕列印結果如下:

python 學習筆記(十四)

coding utf8 author liwei 定製類的練習 class student object def init self,name self.name name a student liwei print a str 對以上例子的使用 print str 對以上例子的使用 class s...

Python學習筆記(十四)

十六章 json 過長的位址名不能使用分行 filename d pycharmprograms codes 導致 syntaxerror eol while scanning string literal python非字串 現中文字元 data pd.dataframe data zip lon...

python學習筆記 十四 unittest

python中有乙個自帶的單元測試框架是unittest模組,用它來做單元測試,它裡面封裝好了一些校驗返回的結果方法和一些用例執行前的初始化操作。在說unittest之前,先說幾個概念 testcase 也就是測試用例 testsuite 多個測試用例集合在一起,就是testsuite testlo...