Python迭代工具

在Python中迭代序列時,有一些函數非常好用。有些函數位於itertools模塊中,還有一些Python的內建函數十分方便

1.並行迭代

       程序可以同時迭代兩個序列。比如有下面兩個列表:

        

        如果想要打印名字和對應的年齡,可以像下面這樣做:

        

        這裏的i是循環索引的標準變量名。

        而內建的zip函數就可以用來進行並行迭代,可以把兩個序列壓縮在一起,然後返回一個元組的列表:

        

        現在我可以在循環中解包元組:

        

        zip函數也可以作用於任意多的序列。關於它很重要的一點是zip可以處理不等長的序列,當最短的序列用完的時候就會停止:

        


2.翻轉和排序迭代

        讓我們看看另外兩個有用的函數:reversed和sorted。他們同列表的reverse和sort方法類似,但是作用於任何序列可迭代對象上,不是原地修改對象,而是返回翻轉或者排序後的版本:

         

         雖然sorted方法返回列表,reversed方法卻返回一個更加不可思議的可迭代對象。它們具體的含義不用過多關注,大可在for循環以及join方法中使用,而不會有任何問題。不過卻不能直接對他使用索引,分片以及調用list方法,如果希望進行上述處理,那麼可以使用list類型轉換返回的對象。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章