Python -- 迴圈技巧(Looping Techniques)

來源:互聯網
上載者:User

標籤:nan   enumerate   函數   迴圈   raw   filter   ever   bsp   append   

1.當想同時得到索引和對應的值時,可以用enumerate()函數

for i, v in enumerate([‘tic‘, ‘tac‘, ‘toe‘]):    print i, v0 tic1 tac2 toe

 2.要同時迴圈兩個或多個序列,可以與zip()函數配對。

questions = [‘name‘, ‘quest‘, ‘favorite color‘]answers = [‘lancelot‘, ‘the holy grail‘, ‘blue‘]for q, a in zip(questions, answers):    print ‘what is your {0}? It is {1}.‘.format(q, a)------------------------------------------------------what is your name? It is lancelot.what is your quest? It is the holy grail.what is your favorite color? It is blue.

 3.要反向迴圈序列,首先是正向的指定序列,然後調用revers()函數。

for i in reversed(xrange(1, 10, 2)):    print i--------------------------------------97531

 4. 要以排序次序迴圈序列,請使用sorted()函數,該函數返回一個新的排序序列,而不改原來的序列

basket = [‘apple‘, ‘orange‘, ‘apple‘, ‘pear‘, ‘orange‘, ‘banana‘]for f in sorted(set(basket)):    print f-------------------------------------------------------------------applebananaorangepear

 5.當迴圈使用字典時,可以使用iteritems()方法同時檢索關鍵字和對應的值。

knights = {‘gallahad‘: ‘the pure‘, ‘robin‘: ‘the brave‘}for k, v in knights.iteritems():    print k, v---------------------------------------gallahad the purerobin the brave

 6.在迴圈序列時有時候會很有挑戰性; 可以建立新列表這樣通常更簡單和安全。

mport mathraw_data = [56.2, float(‘NaN‘), 51.7, 55.3, 52.5, float(‘NaN‘), 47.8]filtered_data = []for value in raw_data:    if not math.isnan(value):        filtered_data.append(value)print filtered_data-----------------------------------------------------[56.2, 51.7, 55.3, 52.5, 47.8]

 7.不同類型之間序列的比較

序列對象可以與具有相同序列類型的其他對象進行比較。 比較使用詞典排序:首先比較前兩個項目,如果它們不同,則決定比較結果; 如果它們相等,則將下兩個項目進行比較,依此類推,直到任一序列耗盡。 如果要比較的兩個項目本身是相同類型的序列,則詞典比較是遞迴地進行的。 如果兩個序列的所有項目比較相等,則這些序列被認為是相等的。 如果一個序列是另一個序列的初始子序列,則較短的序列是較小(較小的)序列。 字串的字典排序使用單個字元的ASCII排序。 相同類型的序列之間的比較的一些例子:

(1, 2, 3)              < (1, 2, 4)[1, 2, 3]              < [1, 2, 4]‘ABC‘ < ‘C‘ < ‘Pascal‘ < ‘Python‘(1, 2, 3, 4)           < (1, 2, 4)(1, 2)                 < (1, 2, -1)(1, 2, 3)             == (1.0, 2.0, 3.0)(1, 2, (‘aa‘, ‘ab‘))   < (1, 2, (‘abc‘, ‘a‘), 4)

 請注意,比較不同類型的對象是合法的。 結果是確定性但是隨意的:類型按照他們的名字排序。 因此,列表始終小於字串,字串始終小於元組等。混合數字類型根據其數值進行比較,因此0等於0.0等。

 

Python -- 迴圈技巧(Looping Techniques)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.