Python基础数据类型之set集合
生活随笔
收集整理的這篇文章主要介紹了
Python基础数据类型之set集合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python基礎數據類型之set集合
- 一、set數據類型介紹
- 二、set集合演示
- 三、set集合中hash介紹
- 1.哈希定義
- 2.數據類型的hash和不可hash
- 3.set中hash示例
- 四、set集合的插入
- 1.創建空集合
- 2.set集合插入
- 五、set集合的刪除
- 六、set集合的修改
- 七、set的查詢
- 八、交集、并集、差集
- 九、set的去重作用
一、set數據類型介紹
set() 函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、并集等。
二、set集合演示
# set集合-數據類型 m = {} print(type(m)) # {}內為空時數據類型為字典 s = {1,2,3,3,4,"張三"} print(s) print(type(s)) # set集合的元素是無序的打印出來 D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py <class 'dict'> {1, 2, 3, 4, '張三'} <class 'set'>Process finished with exit code 0三、set集合中hash介紹
1.哈希定義
Hash,一般翻譯做散列、雜湊,或音譯為哈希,是把任意長度的輸入(又叫做預映射pre-image)通過散列算法變換成固定長度的輸出,該輸出就是散列值。2.數據類型的hash和不可hash
①不可哈希:python中的set集合進行數據存儲的時候,需要對這些數據進行哈希計算,根據計算出的哈希值進行存儲。
②可哈希的:不可變的數據類型,int, str , tuple, bool,
③不可哈希的:可變得數據類型,list,dict, set
3.set中hash示例
s = {1,2,3,3,4,"張三", []} # print(s) # print(type(s)) D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py Traceback (most recent call last):File "D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py", line 17, in <module>s = {1,2,3,3,4,"張三", []} TypeError: unhashable type: 'list'Process finished with exit code 1四、set集合的插入
1.創建空集合
# s = set() # 創建空集合 # l = list() # t = tuple() # s = str()2.set集合插入
s.add("張遼") s.add("許諸") s.add("趙云") s.add("陸遜") print(s) D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py {'陸遜', '張遼', '趙云', '許諸'}Process finished with exit code 0五、set集合的刪除
s.add("張遼") s.add("許諸") s.add("趙云") s.add("陸遜") print(s)s.remove("張遼") print(s) D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py {'趙云', '陸遜', '張遼', '許諸'} {'趙云', '陸遜', '許諸'}Process finished with exit code 0六、set集合的修改
s.add("張遼") s.add("許諸") s.add("趙云") s.add("陸遜") print(s)# s.remove("張遼") # print(s)# 想要修改,先刪除,在新增 s.remove("張遼") s.add("孫尚香") print(s) D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py {'趙云', '陸遜', '許諸', '張遼'} {'趙云', '陸遜', '孫尚香', '許諸'}Process finished with exit code 0七、set的查詢
s.add("張遼") s.add("許諸") s.add("趙云") s.add("陸遜") print(s)for item in s:print(item) D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py {'張遼', '陸遜', '趙云', '許諸'} 張遼 陸遜 趙云 許諸Process finished with exit code 0八、交集、并集、差集
s1 = {"python", "shell", "ansible","ruby"} s2 = {"zabbix", "linux", "shell", "nginx"}print(s1 & s2) #交集 print(s1.intersection(s2)) print(s1 | s2) # 并集 print(s1.union(s2))print(s1 - s2) # 差集 print(s1.difference(s2)) D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py {'shell'} {'shell'} {'nginx', 'linux', 'python', 'zabbix', 'shell', 'ruby', 'ansible'} {'nginx', 'linux', 'python', 'zabbix', 'shell', 'ruby', 'ansible'} {'ruby', 'python', 'ansible'} {'ruby', 'python', 'ansible'}Process finished with exit code 0九、set的去重作用
s1 = {"python", "shell", "ansible","ruby"} s2 = {} l = ["zabbix", "linux", "shell", "nginx""zabbix", "linux", "shell","nginx""zabbix", "linux", "shell", "nginx"] print(l) print(list(set(l))) # 去除重復,去重后的元素是無序的 D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基礎/02_python基礎類型/13_set.py ['zabbix', 'linux', 'shell', 'nginxzabbix', 'linux', 'shell', 'nginxzabbix', 'linux', 'shell', 'nginx'] ['nginx', 'shell', 'nginxzabbix', 'zabbix', 'linux']Process finished with exit code 0總結
以上是生活随笔為你收集整理的Python基础数据类型之set集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下的主辅DNS服务器同步
- 下一篇: 中小型局域网规划实战案例