日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python基本数据类型 set()

發(fā)布時(shí)間:2025/1/21 python 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基本数据类型 set() 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

定義

set是一個(gè)無(wú)序且不重復(fù)的元素集合。

集合對(duì)象是一組無(wú)序排列的可哈希的值,集合成員可以做字典中的鍵。集合支持用in和not in操作符檢查成員,由len()內(nèi)建函數(shù)得到集合的基數(shù)(大小), 用 for 循環(huán)迭代集合的成員。但是因?yàn)榧媳旧硎菬o(wú)序的,不可以為集合創(chuàng)建索引或執(zhí)行切片(slice)操作,也沒(méi)有鍵(keys)可用來(lái)獲取集合中元素的值。

set和dict一樣,只是沒(méi)有value,相當(dāng)于dict的key集合,由于dict的key是不重復(fù)的,且key是不可變對(duì)象因此set也有如下特性:

不重復(fù)
元素為不可變對(duì)象

創(chuàng)建

s = set() s = {11,22,33,44} #注意在創(chuàng)建空集合的時(shí)候只能使用s=set(),因?yàn)閟={}創(chuàng)建的是空字典 a=set('boy') b=set(['y', 'b', 'o','o']) c=set({"k1":'v1','k2':'v2'}) d={'k1','k2','k2'} e={('k1', 'k2','k2')} print(a,type(a)) print(b,type(b)) print(c,type(c)) print(d,type(d)) print(e,type(e))OUTPUT: {'o', 'b', 'y'} <class 'set'> {'o', 'b', 'y'} <class 'set'> {'k1', 'k2'} <class 'set'> {'k1', 'k2'} <class 'set'> {('k1', 'k2', 'k2')} <class 'set'>

基本操作

比較

se = {11, 22, 33} be = {22, 55} temp1 = se.difference(be) #找到se中存在,be中不存在的集合,返回新值 print(temp1) #{33, 11} print(se) #{33, 11, 22}temp2 = se.difference_update(be) #找到se中存在,be中不存在的集合,覆蓋掉se print(temp2) #None print(se) #{33, 11},

刪除

discard()、remove()、pop()

se = {11, 22, 33} se.discard(11) se.discard(44) # 移除不存的元素不會(huì)報(bào)錯(cuò) print(se)se = {11, 22, 33} se.remove(11) se.remove(44) # 移除不存的元素會(huì)報(bào)錯(cuò) print(se)se = {11, 22, 33} # 移除末尾元素并把移除的元素賦給新值 temp = se.pop() print(temp) # 33 print(se) # {11, 22}

取交集

se = {11, 22, 33} be = {22, 55}temp1 = se.intersection(be) #取交集,賦給新值 print(temp1) # 22 print(se) # {11, 22, 33}temp2 = se.intersection_update(be) #取交集并更新自己 print(temp2) # None print(se) # 22

判斷

se = {11, 22, 33} be = {22}print(se.isdisjoint(be)) #False,判斷是否不存在交集(有交集False,無(wú)交集True) print(se.issubset(be)) #False,判斷se是否是be的子集合 print(se.issuperset(be)) #True,判斷se是否是be的父集合

合并

se = {11, 22, 33} be = {22}temp1 = se.symmetric_difference(be) # 合并不同項(xiàng),并賦新值 print(temp1) #{33, 11} print(se) #{33, 11, 22}temp2 = se.symmetric_difference_update(be) # 合并不同項(xiàng),并更新自己 print(temp2) #None print(se) #{33, 11}

取并集

se = {11, 22, 33} be = {22,44,55}temp=se.union(be) #取并集,并賦新值 print(se) #{33, 11, 22} print(temp) #{33, 22, 55, 11, 44}

更新

se = {11, 22, 33} be = {22,44,55}se.update(be) # 把se和be合并,得出的值覆蓋se print(se) se.update([66, 77]) # 可增加迭代項(xiàng) print(se)

集合的轉(zhuǎn)換

se = set(range(4)) li = list(se) tu = tuple(se) st = str(se) print(li,type(li)) print(tu,type(tu)) print(st,type(st))OUTPUT: [0, 1, 2, 3] <class 'list'> (0, 1, 2, 3) <class 'tuple'> {0, 1, 2, 3} <class 'str'>

原文地址:https://www.cnblogs.com/whatisfantasy/p/5956775.html

總結(jié)

以上是生活随笔為你收集整理的Python基本数据类型 set()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。