梳理1 Python內建數據結構

1.1元組

【理解】:固定長度,不可變對象序列,逗號分隔,圓括號
【元組生成】
賦值方式:Tup = 2,3,4
Tuple函數轉化:tup = tuple([2,3,4,5])
【元組的操作】
元組內部可變對象的修改:
+連接元組生成更長的元組
元組的拆包(賦值變量進行拆包):普通拆包,嵌套拆包,*rest位置拆包
【元組的方法】
count方法: a.count(2)

1.2列表

**【理解】**可變長度,可修改內容,[ ]表示
【列表創建】
賦值:a_list = [2,3,4]
List定義和轉化:b_list = list(tuple)
Range等迭代器:gen = range(10)
【列表操作】
1.普通操作
增加:b_list.append(‘1’)
刪除:b_list.pop(‘1’)
插入:b_list.insert(1,’red’)
移除:b_list.remove(‘f00’)
2.複雜操作
連接:+號連接,extend方法擴展列表(比+號方法更好)
排序:sort方法,對數字進行升序,對字符串等採用key=len進行排序
切片:sep[1:2], sep[:2] ,sep[3:],sep[-4:],sep[-6:-2],start索引含,end索引不含,個數爲end-start
Enumerate函數遍歷:返回[I,v]序列
Sorted函數:進行排序並返回
Zip函數:元素配對成元組構成列表;長度由最短的序列決定
Reversed生成器函數:倒序排列,需要使用list進行實例化或for循環,即list(reversed(range(10))

Remove,sort函數都不返回值,返回值爲Nonetype類型
Sort函數與sorted函數區別:sort函數只排序不返回,sorted函數排序並返回值

1.3字典

**【理解】**哈希表/關聯數組;鍵值對集合;{ };逗號分隔
【創建】
普通創建:d1 ={‘a’:’somevalue’,’b’:[1,2,3,4]}
從序列生成:mapping[key]= value+zip(key,value)/mapping = dict(zip(key,value))
【字典的操作】
刪除:del/pop,del刪除不返回值,pop刪除後返回刪除元素值
索引:d1[key];list(d1.keys()),list(d1.values())
字典的合併:d1.update(d2)
Set函數:判斷是否存在,否則取默認值或NONE, value = some_dict.get(key.default_value)
Pop函數:判斷是否存在,否則取默認值或拋出異常,value = some_dict.pop(key.default_value)
Setdefault函數:by_letter.setdefault(letter,[]).append(word)
Defaultdict函數:來自defaultdict包by_letter = defaultdict(list)
有效字典鍵:hash(a)驗證是否可哈希化,不能則不可以作爲鍵

元組只要內部元素可用哈希化,則它自己也可以哈希化

1.4集合

**【概念】**無序;元素唯一;容器;像字典只有鍵沒有值;{ }
【創建方式】
Set函數:a = set([2,3,4,5,6])
普通創建:a = {1,2,3,4}
【集合的操作】
求並集:a.union(b)
求交集:a.intersection(b)
a.add(x) a.clear() a.remove(x) a.pop(x)
a.update(b) a.intersection_update(b) a.difference(b) a.difference_update(b) a.symmetric_difference(b) a.symmetric_difference_update(b)
a.issubset(b) a.issuperset(b) a.isdisjoint(b)

集合的表示符號
a|b a|=b a&b a&=b a-b a-=b a^b
a^=b
如下圖:
在這裏插入圖片描述

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