python 集合 全用法

2021-09-24 21:55:53 字數 2872 閱讀 8656

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...