1. 程式人生 > >Python(六)元組、集和、字典

Python(六)元組、集和、字典

元組、集和、字典

?python實現數據交換的簡潔方式:x,y = y,x 這樣x和y的值就可以互換了。


?可變數據類型:list

?不可變數據類型:數字、字符串、元組


?序列數據類型:字符串、列表、元組

?無序數據類型:數字、字典

元組:帶了緊箍咒的列表

元組和列表不同在於元組為不可變數據類型,他沒有append等方法,存儲數據更安全

一、創建:

tu = (1,2,3,4)

註意:單個元組定義必須在後面加逗號,如tu = (1,)

工廠方法:t= tuple([1,2,3])

二、元組的操作

1.元組也屬於序列,支持索引、切片、拼接、重復、成員操作符

技術分享圖片

2.元組特性

? 對元組分別賦值,引申對多個變量也可通過元組方式分別賦值

技術分享圖片

3.刪除元組

技術分享圖片

三、元組的方法

? t.count(value)-->int返回value在元組中出現的次數;
? t.index(value)返回value在元組中的偏移量(即索引值)

四、內置函數:cmp,len,max,min,enumerate,zip

集和:

集和是無序的,不重復的數據類型,因此可以去除列表或者元組中重復的元素

集和裏面不能放可變數據類型

集和裏面remove()和discard()都是刪除,但是remove裏面如果沒有元素會報錯,而discard沒有元素不會報錯

一、集合的關系測試操作

? 交集: list_1.intersection(list_2)
? 並集: list_1.union(list_2)

? 差集: list_1.difference(list_2)
list_2.difference(list_1)
? 對等差分 list_1.symmetric_difference(list_2)
? 子集 list_1.issubset(list_2)
? 父集 list_1.issuperset(list_2)
? 有無交集 list_1.isdisjoint(list_2)


? 交集: list_1 & list_2
? 並集: list_1 | list_2
? 差集: list_1 - list_2
list_2 - list_1
? 對等差分: list_1 ^ list_2

二、集合的添加

? s.add(1)
在集合中添加一項
? s.update([1,3,4])
在集合中添加多項,跟的參數應該是可叠代類型

三、集和的刪除

? s.remove(1)
刪除集合中指定的元素
? s.pop()
隨機刪除集合中的某個元素,並返回刪除的元素

四、集和的其他操作

? len(s)
顯示集合set的長度
? "1" in s
檢測某元素是否為集合s的成員,返回布爾值

? s.copy()
集合的淺拷貝,此處不深入研究,後面會說
? s.clear()
清空集合的所有元素

字典

字典不支持索引、切片

字典裏面的key不能重復

一、字典的定義

? 簡單字典創建

技術分享圖片

? 內建方法:fromkeys
字典中的key有相同的value值,默認為None

技術分享圖片

二、字典的訪問

? 直接通過key訪問

技術分享圖片

? 循環遍歷訪問

技術分享圖片

三、字典key-value的添加

? dic[key] = value
通過這個操作,我們會發現字典是無序的數據類型

技術分享圖片

四、字典的刪除

? dic.pop(key)
根據key值刪除字典的元素;
? dic.popitem()
隨機刪除字典元素,返回(key,value)
? dic.clear()
刪除字典中的所有元素
? del dic
刪除字典本身

五、字典的常用方法

? dict.get()
如果key存在於字典中,返回對應value值
? dic.keys()
返回字典的所有key值
? dict.has_keys()
字典中是否存在某個key值

Python(六)元組、集和、字典