本次筆記針對原書第6章節列表
列表型別 內建函式:
list.extend(seq) 把序列seq的內容新增到;列表中
list.index(obj,i=0,j=len(list)) list.insert(index,obj)
刪除操作 list.pop(index=-1) 根據位置刪除 list,.remove(obj)根據物件刪除
反轉和排序 list.reverse() list.sort(func=none,key=none,reverse = false)
元組 列表和元組是非常相近的容器型別,它們除了乙個用園括號,乙個用方括號之外似乎看起來沒有區別,但是功能上元組和列表有乙個很重要的區別,元組是一種不可變型別,它能夠做一些列表不能做的事比如做乙個字典的key.
最好使用不可變型別變數的乙個情況是,如果你在維護一些敏感資料,並且需要把這些資料傳遞給乙個並不了解的函式,這時使用元組會安全很多。而當需要管理動態型別資料集合時,你要把它們建立出來,逐漸地不定期的新增它們,或者有時還要移除一些單個的元素,這就必須使用可變型別物件。
深拷貝利用copy模組中的deepcopy()函式可以進行深拷貝,copy()進行淺拷貝,深拷貝拷貝後的物件改變資料對被拷貝物件沒有影響
字典1.可以用工廠方法dict()來建立字典,使用內建方法fromkeys() 可以建立乙個預設字典
2.可以使用key ()方法 或者 迭代器來遍歷訪問字典、
3.字典中的鍵不允許被改變,這是由於如果可以改變將可能發生因為某個變數改變導致鍵發生了改變,用原來的鍵將無法訪問取出字典中的資料的情況。
由於這個原因,字典中的鍵必須是可雜湊的,所以數字和字串 或者是只包括數字和字串的不可變引數的元組可以作為字典的鍵,但是列表和其它字典不行。
4.cmp() 採用的字典比較演算法
字典比較演算法按照以下順序 (優先順序從高到低):(1)比較字典長度,即 len(dict1)>len(dict2) => dict1>dict2
(2)比較字典的鍵 如果兩個字典的長度相同,就按字典的鍵來比較,當 dict1第乙個不同的鍵大於dict2中第乙個不同的鍵,cmp()返回正值
(3)比較字典的值 當 dict1第乙個相同的鍵的值大於dict2中第乙個相同的鍵的值,cmp()返回正值
5.對映型別內建方法:進行建立,刪除,更新的方法有 dict.clear(),
dict.fromkey(),
dict.get(key,default= none)
dict.has_key(key)
dict.pop(key[,defaut]) 如果字典中,key存在,刪除並且返dict[key],如果沒有,返回 default
dict.setdefault(key,default = none) 檢查字典中是否含有某鍵,若有,則取出它的值,否則不存在,返回設定的預設值
dict.update(dict2) 將字典dict2 的鍵值對新增到字典dict
使用key(),value(),items()方法 獲取鍵,值,鍵值對的資訊
python核心程式設計讀書筆記
python筆記 python 核心程式設計 python2.7為主,ipython和pycharm 1.輸入輸出和字串 在2.x中print後面的是整體,比如 總之2.x不要加 也不是函式只是乙個語句 print,input 不回車python 2.x print x,python 3.x pri...
python核心程式設計讀書筆記1
最近再看 python核心程式設計 這本書,就順便記下筆記,下面是前兩章的筆記,主要是第二章的,安裝python太簡單了就不記了。一 python的print語句 與字串格式運算子 結合使用,可實現字串替換功能,例如 print s is number d python 1 python is nu...
讀書筆記 Windows核心程式設計
第二章 從windows nt後,windows所有版本都用unicode來構建。如果輸入乙個非unicom的字串,如ansi,函式會將其先轉換為unicode,再把結果傳回作業系統,這樣經過轉換後,需要更多的記憶體,而且執行速度更慢。並且,目前已知的windows的這些轉換函式存在一些bug。所有...