python中有列表、元組、集合、字典這四種可以存放多個資料元素的集合,他們在總體功能上都起著存放資料的作用,卻都有著各自的特點。本片文章中我們會對集合的用法做詳細說明。
python3.6
pycharm中的python3.6
集合(set):儲存元素不重複、無序資料型別,只支援成員操作賦、for迴圈迭代、列舉。
無序的資料型別,新增順序和在集合中的儲存順序不一樣
!!不支援索引,重複,連線,切片
1.1定義:
##當集合內有重複元素時,輸出集合會自動將重複元素去掉
s =
print(type(s))
s1 = {}
print(type(s1)) ##空字典定義
s1 = set()
print(type(s1)) ###空集合定義
1.2去重:
li = [1,2,3,1,1,2,3]
print(list(set(li))) ###去重 ##將其轉化為集合型別去重,然後再轉為列表型別輸出
1.3成員操作符:
s =
print(i in s) ##返回false
1.4迭代:
for i in s:
print(i) ##迭代輸出其內容
1.5列舉: ###返回對應元素與其索引值
1.6增、刪:
s.add(1) ###增加乙個元素
s.update([5,2,3,6]) ###新增多個元素
s.pop() ##刪除最前面的元素【第乙個】
s.remove() ###指定刪除某個元素
1.7兩個集合之間的關係:
s1 =
s2 =
交集: s1.intersection(s2) ##s1與s2的交集
print('交集:',s1.intersection(s2))
print('交集:',s1 & s2)
並集: s1.union(s2) ##s1與s2的並集
print('並集',s1.union(s2))
print('並集',s1 | s2)
差集:
print('差集',s1.difference(s2)) ###s1 - (s1&s2)
print('差集',s2.difference(s1)) ###s2 - (s1&s2)
超集:
s3 =
s4 =
####s4是s3的超集【包含s3的全部】 ###當兩個集合相同時,互為超集
print(s3.issuperset(s4)) ###超集
print(s3.issubset(s4)) ###子集
print(s3.isdisjoint(s4)) ###兩個集合不相交返回true
練習:隨機生成1-1000的隨機數,去重,排序。生成隨機數的個數由輸入指定。
s = set() #定義空集合
for i in range(int(input('n: '))):
s.add(random.randint(1,1000)) #進行隨機數生成 #集合自動去重
print(s) #輸出去重後的集合
print(sorted(s)) #輸出排序後的集合
python集合全排列 python全排列,遞迴
全排列 用遞迴方法 全排列 1 列表只有乙個元素 a 它的全排列只有a。2 列表有兩個元素 a,b 它的全排列為 a,b b,a 3 列表有三個元素 a,b,c 交換ab,b,a,c 對ac進行全排列 4 列表有n個元素,將第乙個元素固定,對剩下n 1個元素進行全排列。將第乙個元素依此與其他元素交換...
Python集合基本用法
author f list 1 1,4,6,8,6,34,77 list 1 set list 1 列表轉集合 集合和字典一樣 都是無序的 print list 1,type list 1 list 2 set 4,5,6,98,2,5 print list 1,list 2 交集print lis...
python 集合概念set用法
python中set的用法 python 的集合型別和 其他語言類似,是乙個無序不重複元素集,我在之前學過的其他的語言好像沒有見過這個型別,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetricdiffere...