集合是一種組合型的資料型別,分為可變的set和不可變的frozenset。
1、可變集合set
集合set是一種無序的、唯一的的元素集,與數學中集合的概念類似,可對其進行交、並、差、補等邏輯運算。不支援索引、切片等序列操作,但仍支援成員關係運算子in-not in、推導式等操作。在特定的場合中可以體現出非常優秀的執行效率。
下面分別介紹了集合的建立以及對集合中元素進行增添、刪除等修改操作。
#通過以下這種方法建立集合
set() ->new empty set object
set(iterable) -> new set object #
iterable可以是string、tuple、list、dict、set
1#例子2 set('
xyz') #
3 set((1, 2, 3)) #
4 set([1, 2, 3]) #
5 set() #
6 set() #7#
錯誤示範
8 set(1)
typeerror: '
int' object is
not iterable
1#集合中元素唯一性
2 set([1, 1, 2, 2, 3, 3, 4, 3, '
a', '
b', '
c', '
a', '
b']) #3#
集合推導式
4 set(x**2 for x in range(1, 6)) #5#
由於set是乙個可變集合,可進行以下操作
6 s1 = set(range(5)) #7#
增加乙個元素
8 s1.add(5) #9#
刪除乙個集合中的元素,若集合中沒有該元素則返回錯誤
10 s1.remove(0) #11#
隨機刪除乙個元素,並返回刪除的元素
12 s1.pop() #113
#指定刪除集合中的乙個元素,若沒有這個元素,則什麼也不做
14 s1.discard(1) #
15 s1.discard('
a') #16#
清空集合中所有元素
17 s1.clear() #
set()
2、不可變集合frozenset
frozenset凍結集合,即不可變集合。frozenset的元素是固定的,一旦建立後就無法增加、刪除和修改。其最大的優點是使用hash演算法實現,所以執行速度快,而且frozenset可以作為dict字典的key,也可以成為其他集合的元素。
#build an immutable unordered collection of unique elements.
frozenset() ->empty frozenset object
frozenset(iterable) -> frozenset object
1#例子2 frozenset() #
frozenset()
3 frozenset([1, 2, 3, '
abc']) #
frozenset()4#
frozenset集合作為dic的key和value
5 f = frozenset([1,2,3])
6 d = #
): 'a'}
7 d2 = #)}8
#set集合不可以作為dic的key和value
9 f2 = set([1, 2, 3])
10 d3 = #
typeerror: unhashable type: 'set'
3、set、frozenset共有的內建函式
這裡主要包括集合與字串、列表、字典、集合之間的交集、並集、差集以及集合之間的關係,由於目前還未接觸很多,對此進行了詳細介紹,本文不再進行介紹。
Set集合與Map集合
一 set集合 無序 不能出現重複元素 沒有角標 的集合 1 直接列印system.out.println set 2 增強for迴圈foreach 3 迭代器遍歷iterator 特點 無序 set集合的無序 指的是與元素放入的順序無關 不能重複 每乙個set子類都有自己的元素查重規則 沒有角標 ...
python集合set操作
python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...
python學習 集合set
num type num num2 type num2 這兩個大括號的型別明顯不一樣 num的型別是字典而num2的型別則是集合 集合集合具有唯一性 num2 num2 集合不會列印重複的東西 集合不支援索引 num2 2 traceback most recent call last file l...