首頁 > 軟體

python常用資料結構集合詳解

2022-08-26 14:02:21

set集合

集合定義與使用

集合定義:

  • --無序的唯一物件集合
  • --用大括號{}包圍,物件相互之間使用逗號分隔
  • --集合是動態的,可以隨時新增或刪除元素
  • --集合是異構的,可以包含不同型別的資料

集合使用:建立

建立:

  • --通過使用{}填充元素
  • --通過構造方法set()
  • --通過集合推導式
# 集合使用:建立
# 建立
# --通過使用{}填充元素
a = {1, 2, 3}
print(type(a), a)
# --通過構造方法set()
b = set("1")
print(type(b), b)
c = [1, 2, 3, "happy"]
d = set(c)
print(type(d), d)
# --通過集合推導式
e = {i for i in c}
print(type(e), e)
# --注意:不可傳空{}來定義集合,會得到字典型別
f = {}
print(type(f))

集合使用:成員檢測

  • in:判斷元素是否在集合中存在
  • not in :判斷元素是否在集合中不存在
# 集合使用:成員檢測
# in:判斷元素是否在集合中存在
# not in :判斷元素是否在集合中不存在
a = {1, 2, 3, 4, 5}
print(1 in a)
print(6 in a)
print(2 not in a)
print(6 not in a)

集合常用方法

add()

add(item):將單個物件新增到集合中

入參:物件item

返回:None

# add()
# add(item):將單個物件新增到集合中
# 入參:物件item
# 返回:None
a = {1, 2, 3}
a.add(4)
print(a)

update()

update(iterable)

批次新增來自可迭代物件中的所有元素

入參:可迭代物件tierable

返回:None

# update()
# update(iterable)
# 批次新增來自可迭代物件中的所有元素
# 入參:可迭代物件iterable
# 返回:None
a = {1, 2, 3}
a.update("happy")
print(a)

remove()

remove(item):從幾個中移除指定元素item

入參:指定元素值

返回:None

如果item不存在與集合中則會引發KeyError

# remove()
# remove(item):從幾個中移除指定元素item
# 入參:指定元素值
# 返回:None
# 如果item不存在與集合中則會引發KeyError
a = {1, 2, 3, 4}
a.remove(1)
print(a)

discard()

discard(item):從集合中移除指定物件item

入參:指定物件值

返回:None

元素item不存在沒印象,不會丟擲KeyError錯誤

# discard()
# discard(item):從集合中移除指定物件item
# 入參:指定物件值
# 返回:None
# 元素item不存在沒印象,不會丟擲KeyError錯誤
a = {1, 2, 3, "happy"}
a.discard(2)
print(a)

pop()

pop():隨機從集合中移除並返回一個元素

入參:

返回:被移除的元素

如果集合為空則會引發KeyError錯誤

# pop()
# pop():隨機從集合中移除並返回一個元素
# 入參:無
# 返回:被移除的元素
# 如果集合為空則會引發KeyError錯誤
a = {1, 2, 3, 4, "happy"}
print(a.pop())
print(a)

clear()

clear():清空集合,移除所有元素

入參:

返回:None

# clear()
# clear():清空集合,移除所有元素
# 入參:無
# 返回:None
a = {1, 2, 3, "happy"}
a.clear()
print(a)

集合運算

交集運算

intersection()

操作符:&

# 交集運算
# intersection()
# 操作符:&
a = {1, 2, 3}
b = {2, 3, 4}
print(a.intersection(b))
print(a & b)

並集運算

union()

操作符:|

# 並集運算
# union()
# 操作符:|
a = {1, 2, 3}
b = {2, 3, 4, 5}
print(a.union(b))
print(a | b)

差集運算

difference()

操作符:-

# 差集運算
# difference()
# 操作符:-
a = {1, 2, 3, 4}
b = {2, 3, 4, 5}
print(a.difference(b))
print(a - b)
print(b.difference(a))
print(b - a)

集合推導式

類似列表推導式,同時集合支援集合推導式

語法:{i for i in ... if ...}

# 集合推導式
# 類似列表推導式,同時集合支援集合推導式
# 語法:{i for i in ... if ...}
a = {i for i in [1, 2, 3, 4] if i % 2 == 0}
print(a)

到此這篇關於python常用資料結構集合詳解的文章就介紹到這了,更多相關python 集合內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com