Python--集合
集合的兩個功能:
?集合可以實現去重的功能;
?集合可以實現關系測試; 交集, 差集,並集, 是否子集, 是否沒有交集........
集合set的定義
?集合是不重復的數據結構;
# 如果花括號裏面為空,則是字典類型;
# 定義集合的第一種方式 ;
?工廠方法定義集合時, 括號裏面是可叠代的對象, eg: 數值類型不可以;
# 定義集合的第二種方式 ; 定義一個空的集合;
應用: 如何實現列表去重?
?轉換為集合數據類型; set(列表)
?字典的fromkeys方法實現;
# 實現列表去重 1 :
# 實現列表去重 2 :
集合的特性
?集合是無序的, 不重復的數據類型;
?因此不支持索引
?支持成員操作符;
?支持for循環;
# 集合支持 for 循環,是可叠代的;
集合的增刪改查
?增
查- (關系測試操作)
# 交集
方法1:
方法2:
# 並集
方法1:
方法2:
# 差集
方法1:
方法2:
# 對等差分
方法1:
方法2:
?s1.issubset(s2)
?s1.issuperset(s2)
?s1.isdisjoint(s2)
刪
?s.remove刪除集合指定元素, 如果不存在,則報錯;
?s.discard刪除集合指定元素, 如果不存在,do nothing;
?s.clear清空集合元素
應用:
(華為機試題)題目描述
明明想在學校中請一些同學一起做一項問卷調查
之間的隨機整數(N≤1000), N是用戶輸入的,對於 其中重復的數字,只保留一個,把其余相同的數去
掉,不同的數對應 著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順 序去找同學做調
查。請你協助明明完成“去重”與“排序”的工作;
?提示:
?生成隨機數,
import random
random.randint(1,1000)
?列表的去重
總結
?可變數據類型: 列表, 字典, 集合
?不可變數據類型: 數值類型, 字符串, 元組
- 可變數據類型實現某個功能, 直接改變可變的數據類型;
- 不可變數據類型實現某個功能,需要將結果賦值給另外一個變量
是否實現for循環
?可叠代數據類型: str, list, tuple, dict, set
?不可叠代數據類型:數值類型
是否支持索引,切片, 重復和連接特性
?有序的數據類型: str, list, tuple
?無序的數據類型: dict, set
Python--集合