python 中set
與dict
類似,也是一組key
的集合,但不儲存value
。由於key
不能重複,所以,在set
中,沒有重複的key
。
注意,key
為不可變型別,即可雜湊的值。
【例子】
[112]:
num = {}
print(type(num)) #
num =
print(type(num)) #【例子】
[113]:
basket = set()
basket.add('banana')
【例子】
[114]:
【例子】
[115]:
a = set('abracadabra')
print(a)
#
b = set(("google", "lsgogroup", "taobao", "taobao"))
print(b)
#
c = set(["google", "lsgogroup", "taobao", "google"])
print(c)
#
【例子】去掉列表中重複的元素
[116]:
lst = [0, 1, 2, 3, 4, 5, 5, 3, 1]
temp =
for item in lst:
if item not in temp:
print(temp) # [0, 1, 2, 3, 4, 5]
a = set(lst)
print(list(a)) # [0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5]從結果發現集合的兩個特點:無序 (unordered) 和唯一 (unique)。[0, 1, 2, 3, 4, 5]
由於set
儲存的是無序集合,所以我們不可以為集合建立索引或執行切片(slice)操作,也沒有鍵(keys)可用來獲取集合中元素的值,但是可以判斷乙個元素是否在集合中。
【例子】
[117]:
s = set(['google', 'baidu', 'taobao'])
print(len(s)) # 3
3【例子】
google【例子】
true【例子】
[120]:
fruits.add("orange")
print(fruits)
print(fruits)
【例子】
[121]:
x.update(y)
print(x)
y.update(["lsgo", "dreamtech"])
print(y)
【例子】
[122]:
fruits.remove("banana")
【例子】
[123]:
fruits.discard("banana")
【例子】
[66]:
x = fruits.pop()
print(x) # bananacherry
由於 set 是無序和無重複元素的集合,所以兩個或多個 set 可以做數學意義上的集合操作。
【例子】
[67]:
a = set('abracadabra')
b = set('alacazam')
print(a) #
print(b) #
c = a.intersection(b)
print(c) #
print(a & b) #
print(a) #
a.intersection_update(b)
print(a) #
【例子】
[68]:
a = set('abracadabra')
b = set('alacazam')
print(a) #
print(b) #
print(a | b)
#
c = a.union(b)
print(c)
#
【例子】
[69]:
a = set('abracadabra')
b = set('alacazam')
print(a) #
print(b) #
c = a.difference(b)
print(c) #
print(a - b) #
print(a) #
a.difference_update(b)
print(a) #
【例子】
Python基礎練習 資料結構大彙總(第6天)
集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。建立格式 parame 或者set value python標準庫中的序列型別使用c語言實現,大體上可分為下面幾類。容器序列 list tup...
Python基礎練習 資料結構大彙總
day 2 依舊是記錄在學習過程中容易混淆的點 列表 簡單資料型別 容器資料型別 字串 2.獲取列表中的元素 例子 淺拷貝與深拷貝 list1 123 456 789 213 list2 list1 list3 list1 print list2 123,456,789,213 print list...
python資料結構練習
貝葉斯估計用到的資料結構 pandas常用到的 索引與切片,unique,value counts reindex,sort index 可以用於seires,也可以是dataframe,但只對index本身,index或columns本身進行排序,而不是其對應的元素進行排序 order 對seri...