成都網(wǎng)站建設(shè)公司常熟網(wǎng)站建設(shè)
前言
本篇文章學(xué)習(xí)的是 python 中集合的基礎(chǔ)知識。
集合元素的內(nèi)容是不可變的,常見的元素有整數(shù)、浮點(diǎn)數(shù)、字符串、元組等。至于可變內(nèi)容列表、字典、集合等不可以是集合元素。雖然集合不可以是集合的元素,但是集合本身是可變的,可以去增加或刪除集合的元素。
正文?
集合可以使用“{ }”或“set()”函數(shù)建立集合。?
1.建立集合?
使用 {} 建立集合一下試試:
data={'d',1,"球球",'d',(1,2,3),1.23}
print(data)
print("數(shù)據(jù)類型:",type(data))
集合的特色是元素唯一,所以倆個(gè)“d”,舍去一個(gè)。
使用set()函數(shù)建立集合:?
data=set()
print(data)
print("數(shù)據(jù)類型:",type(data))
dataa=set('hello world')
print(dataa)
不可以這么寫哦:data=set('a','s','fe')
set()函數(shù)與列表,元組的結(jié)合:?
data=set(['a','s','fe'])
print(data)
tuplea=('w','wde','wdc')
dataa=set(tuplea)
print(dataa)
列表轉(zhuǎn)化為集合:x=set(列表名字)
集合轉(zhuǎn)化為列表:y=list(x)
2.集合基礎(chǔ)操作?
a.交集(intersection)
python中有一個(gè)交集符號了:&,另外還有一個(gè)函數(shù)intersectin()可以執(zhí)行此操作。
實(shí)例:?
A={1,3,2,4,5,6}
B={5,6,4,7,9,3}
AB=A&B
print("A&B的交集是:",AB)
AB=A.intersection(B)
print("A.intersection交集B是:",AB)
b.并集(union)
在python中的并集符號是”|“,此外還有union()函數(shù)可以完成此操作。
實(shí)例:?
A={1,3,2,4,5,6}
B={5,6,4,7,9,3}
AB=A|B
print("A|B的交集是:",AB)
AB=A.union(B)
print("A.union并集B是:",AB)
c.差集(difference)
在python中的并集符號是”-“,此外還有difference()函數(shù)可以完成此操作。
實(shí)例:
A={1,3,2,4,5,6}
B={5,6,4,7,9,3}
AB=A-B
print("差集A-B集是:",AB)
AB=A.difference(B)
print("使用difference函數(shù):",AB)
d.對稱差集(symmetric_difference())
在python中的并集符號是”^“,此外還有symmetric_difference()函數(shù)可以完成此操作。
A={1,3,2,4,5,6}
B={5,6,4,7,9,3}
AB=A^B
print("對稱差集A^B集是:",AB)
AB=A.symmetric_difference(B)
print("使用symmetric_difference函數(shù):",AB)
e.適用集合的方法函數(shù)
add():加一個(gè)元素到集合
?clear():刪除集合所有元素
?copy():淺復(fù)制(?shallow?copy?)方式復(fù)制集合
?sorted():對集合進(jìn)行排序,返回的是列表?[1, 2, 3, 4, 5, 6]
min():最小值
max():最大值
sum():求總和
len():元素?cái)?shù)量
frozenset():凍結(jié)集合,不可變集合,定住了。
union():求兩個(gè)集合的并集
difference):A-B,求差集
difference_update():刪除集合內(nèi)與另一集合重復(fù)的元素
discard():如果是集合成員則刪除
intersection():求兩個(gè)集合的交集
instersection_update():可以使用交集更新集合內(nèi)容
isdisjoint():如果2個(gè)集合沒有交集返回?True?
issubset():如果另一個(gè)集合包含這個(gè)集合返回?True?
isupperset():如果這個(gè)集合包含另一個(gè)集合返回?True?
pop():傳回所刪除的元素,如果是空集合返回?False?
remove():刪除指定元素,如果此元素不存在,程序?qū)⒎祷?KeyError?
symmetric_difference():求兩個(gè)表的對稱差集
symmetric_difference_update():使用對稱差集更新集合內(nèi)容
update():使用并集更新集合內(nèi)容
參考資料
《python王者歸來》?