Python學習筆記(五)

2021-07-02 15:31:49 字數 1268 閱讀 1228

set:

set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重複,而且是無序的,這點和 dict 的 key很像。

建立:呼叫 set() 並傳入乙個 list,list的元素將作為set的元素:

>>> s = set(['a', 'b', 'c'])

set會自動去掉重複的元素。

訪問:由於set儲存的是無序集合,所以我們沒法通過索引來訪問。訪問set就是檢視set是否存在這個要訪問元素。

如:

>>> s = set(['adam', 'lisa', 'bart', 'paul'])
檢視bart是否在set中:

>>> 'bart' in s

true

特點:

1.set的內部結構和dict很像,唯一區別是不儲存value,因此,判斷乙個元素是否在set中速度很快。

2.set儲存的元素和dict的key類似,必須是不變物件,因此,任何可變物件是不能放入set中的。

3.set儲存的元素也是沒有順序的。

遍歷set:

s = set([('adam', 95), ('lisa', 85), ('bart', 59)])

for x in s:

print x[0]+':',x[1]

lisa: 85

adam: 95

bart: 59

由於set是無須的,所以列印的結果順序可能與list 的不同。更新set: 

由於set儲存的是一組不重複的無序元素,因此,更新set主要做兩件事:1.是把新的元素新增到set中。

2.是把已有元素從set中刪除。

新增元素時,用set的add()方法:

>>> s = set([1, 2, 3])

>>> s.add(4)

>>> print s

set([1, 2, 3, 4])

新增已經存在的元素,不會報錯。

刪除set中的元素時,用set的remove()方法:

>>> s = set([1, 2, 3, 4])

>>> s.remove(4)

>>> print s

set([1, 2, 3])

刪除不存在的元素,會報錯。

python學習筆記(五)

python裡的流程控制語句 if expression statements s else statements s identationerror 縮排錯誤,縮排4個空格 true 非空的值 string,tuple,list,set,dict false 0,null,其他空值 需要多次判斷使...

python 學習筆記 (五)

遞迴函式,如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。該包下的iterable方法是用來判斷物件是否可以迭代 from collections import iterable 遞迴算階乘 def fact n if n 1 return 1 return n fact n 1 print ...

Python學習筆記(五)

函式式程式設計 高階函式 把函式作為引數傳入,這樣的函式稱為高階函式,函式式程式設計就是指這種高度抽象的程式設計正規化。def xx a return a a def func a,b,c return c a c b print func 10,12,xx map 函式接收兩個引數,乙個是函式,乙...