python 元組集合
阿新 • • 發佈:2018-11-17
字符串 不可 ack div border -c pop b- ont
Python 元組集合
一、元組
- 元組和列表差不多.也是存一組數. PS:元組一旦創建便不可更改. 故又稱只讀列表.存放一些不想被人修改的數據.如身份證等信息
- 語法:
- name = ("yuhonglin","gouer","xixihaha")
- 方法:
只有兩方法.
1.count
2.index
二、集合
- 定義:由不同元素組成的集合. 集合是一個無序排列可hash值. 可以作為字典的key
- 作用:
- 去重. 把一個列表變成集合,就自動去重了(set)
- 關系測試 測試兩組數據之前的交集\差集\並集等關系
- 特性:集合的目的是將不同的值存放在一起. 不用的集合間用來做關系運算. 無需糾結於集合中的單個值
- PS:打印時自動去重
- 創建集合:
- S1 = {"a",1,2,3,2,3,1,4} PS:集合是用逗號就行分割的.
- 集合的相關方法
定義兩個集合: python_list = {"Yuhl","Yulan","Zhaoyizao","Gouer","Liuyaojun"} linux_list = {"Yuhl","Liuyaojun"} #定義空列表. 找出報了python and linux課程的人員. 婁逼寫法 both_list = [] for name in linux_list: if name in python_list: both_list.append(name) print(both_list) #交集 打印出共有的 如果有三個的話. 接著向後寫& 或者intersection print(python_list&linux_list) print(python_list.intersection(linux_list)) #並集. 取兩個集合的所有值. print(python_list|linux_list) print(python_list.union(linux_list)) #差集. 找出出唯一的. A-B 打印出A中不包含B中的數據.A中包含的數據不打印 B-A打印出B中不包含A中的數據.B中包含的數據不打印. #PS:可以集合名可以反過來寫. print(python_list-linux_list) print(linux_list-python_list) print(python_list.difference(linux_list)) #對稱差集 找出兩集合中不同的數據. 去掉相同的數據. print(python_list^linux_list) print(python_list.symmetric_difference(linux_list)) #子集 print(python_list <= linux_list) print(python_list.issubset(linux_list)) # PS:python_list 是不是 linux_list的子集. 是返回Ture 不是返回False #父集 print(python_list >= linux_list) print(python_list.issuperset(linux_list)) # PS:python_list 是不是 linux_list的父集. 是返回Trur 不是返回False
- 集合的內置方法
定義一個集合 S1 = {1,2,3} #update 向集合中插入數據. 只插入不存在的. 如果是字符串會拆開向裏面插入. 更新 S1.update("e") print(S1) 輸出:{1, 2, 3, ‘e‘} S1.update((2,3,4)) print(S1) 輸出:{1, 2, 3, 4} S2 = {"H","W",1} S1.update(S2) print(S1) 輸出:{1, 2, 3, ‘H‘, ‘W‘} #add 將整個加入到集合中 S1.add("hello") print(S1) 輸出:{1, 2, 3, ‘hello‘} #pop 隨機刪除集合中的某一個元素 S1.pop() print(S1) 輸出:{2, 3} #remove 刪除制定元素. 如果集合中沒有這個會直接報錯. S1.remove(1) print(S1) 輸出:{2, 3} #discard 刪除指定元素. 存在正常刪除. 如果不存在也不抱錯. S1.discard("w") print(S1) 輸出:{1, 2, 3} #clear 清空 S1.clear() print(S1) 輸出:set() #copy 淺拷貝 S2 = S1.copy() print(S2,S1) 輸出:{1, 2, 3} {1, 2, 3} S1 = {1,2,3,"A","E"} S2 = {1,2,3} print(S1.difference(S2)) 輸出:{‘A‘, ‘E‘} print(S1) 輸出:{1, 2, 3, ‘A‘, ‘E‘} print(S1.difference_update(S2)) 輸出:None print(S1) 輸出:{‘A‘, ‘E‘}
python 元組集合