Day04:

燴麵發表於2019-03-24

排序

data.sort()覆蓋原有列表#預設是升序(可以傳入引數reverse=Ture改成降序)

sorted(data)建立一個列表

列表生成式

例如:

mins=[1,2,3]

secs=[m*60 for m in mins]

dict的key必須是不可變物件

重複元素在set中自動被過濾

通過add(key)方法可以新增元素到set中,可以重複新增,但不會有效果

通過remove(key)方法可以刪除元素

可變物件與不可變物件

例如:

可變:list

不可變:str,dict

原來函式返回值是一個tuple!

預設引數可以簡化函式的呼叫。設定預設引數時,有幾點要注意:

一是必選引數在前,預設引數在後,否則Python的直譯器會報錯(思考一下為什麼預設引數不能放在必選引數前面);

二是如何設定預設引數。

當函式有多個引數時,把變化大的引數放前面,變化小的引數放後面。變化小的引數就可以作為預設引數。

定義預設引數要牢記一點:預設引數必須指向不變物件!

可變引數:在自定義的函式引數前加*,可變引數就是傳入的引數個數是可變的,可以是1個、2個到任意個,還可以是0個

Python允許你在list或tuple前面加一個*號,把list或tuple的元素變成可變引數傳進去

關鍵字引數:

關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為一個dict

例如:

def person(name, age, **kw):

限制關鍵字引數的名字:

命名關鍵字引數需要一個特殊分隔符*,*後面的引數被視為命名關鍵字引數 例如: def person(name, age, *args, city, job): !!!在Python中定義函式,可以用必選引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數,這5種引數都可以組合使用。但是請注意,引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

for迴圈其實可以同時使用兩個甚至多個變數,比如dict的items()可以同時迭代key和value