python常用數(shù)據(jù)結(jié)構(gòu)集合詳解
set集合
集合定義與使用
集合定義:
- --無序的唯一對象集合
- --用大括號{}包圍,對象相互之間使用逗號分隔
- --集合是動態(tài)的,可以隨時添加或刪除元素
- --集合是異構(gòu)的,可以包含不同類型的數(shù)據(jù)
集合使用:創(chuàng)建
創(chuàng)建:
- --通過使用{}填充元素
- --通過構(gòu)造方法set()
- --通過集合推導(dǎo)式
# 集合使用:創(chuàng)建
# 創(chuàng)建
# --通過使用{}填充元素
a = {1, 2, 3}
print(type(a), a)
# --通過構(gòu)造方法set()
b = set("1")
print(type(b), b)
c = [1, 2, 3, "happy"]
d = set(c)
print(type(d), d)
# --通過集合推導(dǎo)式
e = {i for i in c}
print(type(e), e)
# --注意:不可傳空{(diào)}來定義集合,會得到字典類型
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):將單個對象添加到集合中
入?yún)ⅲ?/strong>對象item
返回:None
# add()
# add(item):將單個對象添加到集合中
# 入?yún)ⅲ簩ο骾tem
# 返回:None
a = {1, 2, 3}
a.add(4)
print(a)
update()
update(iterable)
批量添加來自可迭代對象中的所有元素
入?yún)ⅲ?/strong>可迭代對象tierable
返回:None
# update()
# update(iterable)
# 批量添加來自可迭代對象中的所有元素
# 入?yún)ⅲ嚎傻鷮ο骾terable
# 返回:None
a = {1, 2, 3}
a.update("happy")
print(a)
remove()
remove(item):從幾個中移除指定元素item
入?yún)ⅲ?/strong>指定元素值
返回:None
如果item不存在與集合中則會引發(fā)KeyError
# remove()
# remove(item):從幾個中移除指定元素item
# 入?yún)ⅲ褐付ㄔ刂?
# 返回:None
# 如果item不存在與集合中則會引發(fā)KeyError
a = {1, 2, 3, 4}
a.remove(1)
print(a)
discard()
discard(item):從集合中移除指定對象item
入?yún)ⅲ?/strong>指定對象值
返回:None
元素item不存在沒印象,不會拋出KeyError錯誤
# discard()
# discard(item):從集合中移除指定對象item
# 入?yún)ⅲ褐付▽ο笾?
# 返回:None
# 元素item不存在沒印象,不會拋出KeyError錯誤
a = {1, 2, 3, "happy"}
a.discard(2)
print(a)
pop()
pop():隨機從集合中移除并返回一個元素
入?yún)ⅲ?/strong>無
返回:被移除的元素
如果集合為空則會引發(fā)KeyError錯誤
# pop()
# pop():隨機從集合中移除并返回一個元素
# 入?yún)ⅲ簾o
# 返回:被移除的元素
# 如果集合為空則會引發(fā)KeyError錯誤
a = {1, 2, 3, 4, "happy"}
print(a.pop())
print(a)
clear()
clear():清空集合,移除所有元素
入?yún)ⅲ?/strong>無
返回:None
# clear()
# clear():清空集合,移除所有元素
# 入?yún)ⅲ簾o
# 返回: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)
集合推導(dǎo)式
類似列表推導(dǎo)式,同時集合支持集合推導(dǎo)式
語法:{i for i in ... if ...}
# 集合推導(dǎo)式
# 類似列表推導(dǎo)式,同時集合支持集合推導(dǎo)式
# 語法:{i for i in ... if ...}
a = {i for i in [1, 2, 3, 4] if i % 2 == 0}
print(a)
到此這篇關(guān)于python常用數(shù)據(jù)結(jié)構(gòu)集合詳解的文章就介紹到這了,更多相關(guān)python 集合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用matplotlib.pyplot繪制多個圖片和圖表實現(xiàn)方式
這篇文章主要介紹了使用matplotlib.pyplot繪制多個圖片和圖表的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
python使用numpy中的size()函數(shù)實例用法詳解
在本篇文章里小編給整理的是一篇關(guān)于python使用numpy中的size()函數(shù)實例用法詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-01-01
python 函數(shù)的缺省參數(shù)使用注意事項分析
這篇文章主要介紹了python 函數(shù)的缺省參數(shù)使用注意事項,結(jié)合實例形式分析了Python函數(shù)缺省參數(shù)的使用方法與操作注意事項,需要的朋友可以參考下2019-09-09
Python?中給請求設(shè)置用戶代理?User-Agent的方法
本文介紹?HTTP?標頭用戶代理主題以及如何使用?Python?中的請求設(shè)置用戶代理,您將了解?HTTP?標頭及其在理解用戶代理、獲取用戶代理以及學(xué)習(xí)使用?Python?中的請求設(shè)置用戶代理的多種方法方面的重要性,感興趣的朋友跟隨小編一起看看吧2023-06-06
Python實現(xiàn)統(tǒng)計mp4/avi視頻的時長
moviepy是一個用于處理視頻和音頻的Python庫,它提供了一組功能豐富的工具,所以本文將利用它實現(xiàn)統(tǒng)計mp4/avi視頻的時長,希望對大家有所幫助2023-07-07

