集合(set)
集合與字典類似鸠澈,但里面的元素不是鍵值對了柱告。它是一個無序的,不同元素組成的集合笑陈。里面所有的元素都互不重復(fù)际度。
1. 創(chuàng)建集合
集合不能直接定義,只能通過強制類型轉(zhuǎn)換間接定義涵妥。比如
>>> a = [1, 2, 3, 2] #定義列表a
>>> b = set(a) #將a轉(zhuǎn)換為列表后賦給b
>>> print(b) #打印b
{1, 2, 3}
>>> print(type(b)) #打印b的類型
<class 'set'>
我們可以發(fā)現(xiàn)乖菱,集合與字典都是用花括號括起來的,元素與元素間用逗號隔開妹笆,不同的是块请,集合內(nèi)的元素都是單一的,不是鍵值對拳缠。
它的特點是不存在重復(fù)的元素墩新。因此有些時候可以用其來刪掉重復(fù)的元素。
2. 添加元素set.add(value)
集合自帶了add方法窟坐,可以通過此方法向集合中加入元素
>>> a = set([1, 2, 3, 4, 3]) #創(chuàng)建集合a
>>> a.add(5) #向集合a中加入5
>>> print(a)
{1, 2, 3, 4, 5}
>>> a.add(3) #向集合a中加入3
>>> print(a)
{1, 2, 3, 4, 5}
我們可以看到海渊,當要加入的元素已經(jīng)在集合中存在后,使用add加入后是不會有變化的哲鸳。
3. 刪除元素set.remove(value)
集合自帶了remove方法臣疑,用來刪除元素
>>> a = set([1, 2, 3, 4, 3]) #創(chuàng)建集合a
>>> print(a) #打印集合a
{1, 2, 3, 4}
>>> a.remove(3) #刪除集合a中的3
>>> print(a) #打印集合a
{1, 2, 4}
4. 集合的操作
集合與數(shù)學(xué)上的集合一樣,可以求兩個集合的交集徙菠,并集讯沈,差集,對稱差集
- 交集
&
使用&可以求得兩個集合的交集
>>> a = set([1, 2, 3]) #創(chuàng)建集合a
>>> b = set([1, 2, 4]) #創(chuàng)建集合b
>>> print(a & b) #打印a與b的交集
{1, 2}
- 并集
|
使用|可以求得兩個集合的并集
>>> a = set([1, 2, 3]) #創(chuàng)建集合a
>>> b = set([1, 2, 4]) #創(chuàng)建集合b
>>> print(a | b) #打印a與b的并集
{1, 2, 3, 4}
- 差集
-
使用-可以求得兩個集合的差集婿奔,a-b即為缺狠,求屬于a问慎,不屬于b的元素
>>> a = set([1, 2, 3]) #創(chuàng)建集合a
>>> b = set([1, 2, 4]) #創(chuàng)建集合b
>>> print(a - b) #打印a與b的差集
{3}
>>> print(b - a) #打印b與a的差集
{4}
- 對稱差集
^
可以使用^求兩個集合的對稱差集。
對稱差集是集合a與b中所有不屬于A∩B的元素的集合挤茄,即在a如叼,b中出現(xiàn),但不同時出現(xiàn)的元素的集合穷劈。
>>> a = set([1, 2, 3]) #創(chuàng)建集合a
>>> b = set([1, 2, 4]) #創(chuàng)建集合b
>>> print(a ^ b) #打印a與b的對稱差集
{3, 4}
5. 其他方法
- 查看集合內(nèi)元素的個數(shù)
len()
函數(shù)len()
對集合也適用笼恰。
>>> a = set([1, 2, 3, 4, 3]) #創(chuàng)建集合a
>>> print(len(a)) #打印集合a內(nèi)元素的個數(shù)
4
- 復(fù)制一個集合
set.copy()
集合自帶一個copy()方法,與此前的列表復(fù)制的方法一樣
>>> a = set([1, 2, 3, 4, 3]) #創(chuàng)建集合a
>>> b = a.copy() #將a復(fù)制后賦給b
>>> print(a) #打印集合a
{1, 2, 3, 4}
>>> print(b) #打印集合b
{1, 2, 3, 4}
- 清除集合內(nèi)所有的元素
set.clear()
與此前列表和字典的clear相同
>>> a = set([1, 2, 3, 4, 3]) #創(chuàng)建集合a
>>> print(a) #打印集合a
{1, 2, 3, 4}
>>> a.clear() #清除a中所有的元素
>>> print(a) #打印集合a
set()
關(guān)于更多集合的信息歇终,可以使用help(set)查看幫助信息社证。