1. 程式人生 > >Python學習中的關鍵點1.3

Python學習中的關鍵點1.3

有一些函式需要了解下,這些函式在其他語言也是有類似的存在的。

切片       - 對一個list或者tuple取它的一部分內容出來。正常大家應該是想我通過迴圈,找到符合條件的內容放倒新的list或者tuple中。可以有更簡單的做法,python提供了Slice操作符:L[0:3]。

列表生成式        -1層迴圈的[x * x for x in range(1,11)]   --> [1,4,9,16,25,36,49,64,81,100]

                          1層迴圈的加判斷[x * x for x in range(1,11) if x%2 == 0]  -->[4,16,36,64,100]

                          2層迴圈的[x + n for m in 'abc' for n in 'xyz']

                          這只是應用的一些技巧,多找幾個for迴圈練練手就沒問題了。

生成器              -generator,簡單的改造是把列表生成式的[]更改為()。它的作用是什麼呢 -- 儲存演算法

                        例如你以後一個100W大的資料集合,它們需要很大的記憶體空間,但是現在又用不到。我

                        們就儲存它的演算法。後面要用到就用這個生成器來生成資料就可以了。而且可以做到用多

                        少生成多少,節約大量的空間。 

                        另外一種定義方法-yield,如果一個函式包含這個關鍵字,那麼它就不是普通的函式,而是

                        一個generator

迭代器              -可以用於for迴圈的物件都可以叫做迭代物件:Iterable。通過isinstance()方法判斷是否是

                          Iterable。

                          可以被next()函式呼叫並返回下一個值的物件是Iterator-迭代器。

                          它們的區別,迭代器代表著可以無限大的資料流,可以一直計算下去,迭代物件是一個有

                          大小的物件。

這部分點就這些了。