標籤:產生隨機數 保留 dom 刪除 隨機數 set blob 之間 random
集合(
字典的近親
)
集合的兩個功能:
?集合可以實現去重的功能;
?集合可以實現關係測試; 交集, 差集,並集, 是否子集, 是否沒有交集........
集合set的定義
?集合是不重複的資料結構;
# 如果花括弧裡面為空白,則是字典類型;
# 定義集合的第一種方式 ;
?Factory 方法定義集合時, 括弧裡面是可迭代的對象, 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個1到1000
之間的隨機整數(N≤1000), N是使用者輸入的,對於 其中重複的數字,只保留一個,把其餘相同的數去
掉,不同的數對應 著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順 序去找同學做調
查。請你協助明明完成“去重”與“排序”的工作;
?提示:
?產生隨機數,
import random
random.randint(1,1000)
?列表的去重
總結
?可變資料類型: 列表, 字典, 集合
?不可變資料類型: 數實值型別, 字串, 元組
- 可變資料類型實現某個功能, 直接改變可變的資料類型;
- 不可變資料類型實現某個功能,需要將結果賦值給另外一個變數;
是否實現for迴圈
?可迭代資料類型: str, list, tuple, dict, set
?不可迭代資料類型:數實值型別
是否支援索引,切片, 重複和串連特性
?有序的資料類型: str, list, tuple
?無序的資料類型: dict, set
Python--集合