iT邦幫忙

DAY 18
0

Python初學起步走系列 第 18

[Python初學起步走-Day18] - 集合型態

Python內建兩種集合型態:

可變的set與不可變的frozenset

使用{}建立set並以逗號(,)間隔

集合是無序且元素不重複

例如

#set.py
a={1,2,3,3,4,5,6}
print(type(a))
print(a)
b=frozenset({2,4,6})
print(type(b))
print(b)

集合內只能擺放不可變的資料型態(float、int、str、tuple....)

#set.py
a={1,[5,6],3,4,5,6}

集合可以使用一些運算符進行操作:

|(聯集)、&(交集)、-(差集)、^(對稱差集)、<=(是否為子集合)、<(是否為真子集)、>=(是否為母集合)、>(是否為真母集)

#set.py
a=set("taipei")    #等同於{"t","a","i","p","e","i"}
print(a)
b={"p","e","i"}    #等同於{"p","e","i"}
print(b)
print(a|b)
print(a&b)
print(a-b)
print(a^b)
print(a<=b)
print(a<b)
print(a>=b)
print(a>b)

可以使用方法對set進行操作:

set.add(x) - 將x加入set中

set.copy() - 傳回set的副本

set.clear() - 清除set所有資料

set.discard(x) - 移除set中的x,若找不到"不"引發KeyError例外

set.remove(x) - 移除set中的x,若找不到引發KeyError例外

set.pop() - 隨機傳回並移除一個資料項,set為空集合時引發KeyError例外

#set.py
a={1,2,3,4}
print(a)
a.add(7)
print(a)
b = a.copy()  #不可寫成b=a , python 會將b參照到同一個物件,而不是複製一份
print(b)
b.clear()
print(b)
a.discard(1)
print(a)
a.remove(2)
print(a)
k=a.pop()
print(k)
print(a)


上一篇
[Python初學起步走-Day17] - lambda
下一篇
[Python初學起步走-Day19] - dict
系列文
Python初學起步走30

尚未有邦友留言

立即登入留言