集合(set)是一個無序的不重復元素序列。
可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
集合、是字典的表親
{}并不是字典的特權
集合的特點:
1 具有唯一性
2 不支持索引
3 與字典相同,也是無序的
創建格式:
parame = {value01,value02,...}
或者
set(value)
創建方法
num1 = {1,2,3,4}num2 = set(['q','w','e','r'])print(num1,num2)num3 = [1,2,3,4,2,4,2,1]temp = num3.copy()temp = set(temp)print(temp)
實例
>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}>>> print(basket) # 這里演示的是去重功能{'orange', 'banana', 'pear', 'apple'}>>> 'orange' in basket # 快速判斷元素是否在集合內True>>> 'crabgrass' in basketFalse >>> # 下面展示兩個集合間的運算....>>> a = set('abracadabra')>>> b = set('alacazam')>>> a {'a', 'r', 'b', 'c', 'd'}>>> a - b # 集合a中包含而集合b中不包含的元素{'r', 'd', 'b'}>>> a | b # 集合a或b中包含的所有元素{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}>>> a & b # 集合a和b中都包含了的元素{'a', 'c'}>>> a ^ b # 不同時包含于a和b的元素{'r', 'd', 'b', 'm', 'z', 'l'}
類似列表推導式,同樣集合支持集合推導式(Set comprehension):
>>>a = {x for x in 'abracadabra' if x not in 'abc'}>>> a{'r', 'd'}
集合的基本操作
1、添加元素
語法格式如下:
s.add( x )
將元素 x 添加到集合 s 中,如果元素已存在,則不進行任何操作。
>>>thisset = set(("Baidu", "jb51", "Taobao"))>>> thisset.add("Facebook")>>> print(thisset){'Facebook', 'Taobao', 'Baidu', 'jb51'}
輸出的內容都是隨機的沒有排序
還有一個方法,也可以添加元素,且參數可以是列表,元組,字典等,語法格式如下:
s.update( x )
x 可以有多個,用逗號分開。
>>>thisset = set(("Baidu", "Jb51", "Taobao"))>>> thisset.update({1,3})>>> print(thisset){1, 3, 'Baidu', 'Taobao', 'Jb51'}>>> thisset.update([1,4],[5,6]) >>> print(thisset){1, 3, 4, 5, 6, 'Baidu', 'Taobao', 'Jb51'}>>>
2、移除元素
語法格式如下:
s.remove( x )
將元素 x 從集合 s 中移除,如果元素不存在,則會發生錯誤。
實例(Python 3.0+)
新聞熱點
疑難解答