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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中创建集合的语句_Python 集合(set) 介绍

發布時間:2023/12/2 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中创建集合的语句_Python 集合(set) 介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

集合 set

集合是可變的容器

集合內的數據對象都是唯一的(不能重復多次的)

集合是無序的存儲結構,集合中的數據沒有先后關系

集合內的元素必須是不可變對象

集合是可迭代對象(可以用for等遍歷)

集合是相當于只有鍵,沒有值的字典(鍵則是集合的數據)

創建空集合:

set()

創建非空集合的字面值:

s = {1,2,3}

集合的構造函數:set

set() #創建一個空的集合對象(不能用{}來創建空集合)

set(iterable) #用可迭代對象創建一個新的集合對角

# 示例:

s = set()

s = {1,2,3,4}

s = set("ABC")

s = set("ABCABC") # s = {"A","B","C"}

s = set([1,0,3.14,0.618])

s = {1,2,[3,4],5} #報錯,集合內不能放列表和字典

s = {1,2,{3,4},5} #出錯集合是可變對象

集合的運算:

交集&,并集|,補集-,對稱補集^ , 子集< ,超集>

#& 運算符生成兩個集合的交集(兩個集合的共同部分)

s1 = {1,2,3}

s2= {2,3,4}

s3= s1 & s2 #s3={2,3}

#| 生成兩個集合的并集

s1 = {1,2,3}

s2= {2,3,4}

s3= s1 | s2 #s3 ={1,2,3,4}

#- 生成兩個集合的補集

s1 = {1,2,3}

s2= {2,3,4}

s3= s1 - s2 #生成屬于s1,但不屬于s2的所有元素的集合

#^ 生成兩個集合的對稱補集

s1 = {1,2,3}

s2= {2,3,4}

s3= s1 ^ s2 #s3 ={1,4}

#> 判斷一個集合是另一個集合的超集#< 判斷一個集合是另一個集合的子集

s1 = {1,2,3}

s2= {2,3}

s1> 2s #True, s1為s2的超集

s2 < s1 #True,s2為s1的子集

#== != 集合相同或不同

s1 = {1,2,3}

s2= {2,3,1}

s1== s2 #True 相同

s1 != s1 #False

#>= <= 超集或相同,子集或相同

練習

#1.經理有:曹操,劉備,孫權#技術員有:曹操,孫權,張飛, 關羽#用集合求:#1. 即是經理也是技術員的有誰?#2. 是經理,但不是技術人員的都有誰?#3. 是技術人員,但不是經理的人都有誰?#4. 張飛是經理嗎?#5. 身兼一職的人都有誰?#6. 經理和技術人員共有幾個人?

l= {"曹操","劉備","孫權"}

j= {"曹操","孫權","張飛","關羽"}print("即經理也是技術員的有:",l&j,)print("是經理,但不是技術人員的有",l-j)print("是技術人員,但不是經理的有",j-l)if "張飛" inl:print("是經理")else:print("張飛,不是經理")print("身兼一職的人:",l^j)print("經理和技術人員共有",len(l|j))

集合的方法:

#方法      # 意義

S.add(e)        #在集合中添加一個新的元素e;如果元素已經存在,則不添加

S.remove(e)        #從集合中刪除一個元素,如果元素不存在于集合中,則會產生一個KeyError錯誤

S.discard(e)         #從集合S中移除一個元素e,在元素e不存在時什么都不做;

S.clear()       #清空集合內的所有元素

S.copy()        #將集合進行一次淺拷貝

S.pop()        #從集合S中刪除一個隨機元素;如果此集合為空,則引發KeyError異常

S.update(s2)        #等同于 S l= s2, 用 S與s2得到的全集更新變量S

S.difference(s2)        #S - s2 補集運算,返回存在于在S中,但不在s2中的所有元素的集合

S.difference_update(s2)     #等同于 S -= s2

S.intersection(s2)         #等同于 S & s2

S.intersection_update(s2)       #等同于S &= s2

S.isdisjoint(s2)            #如果S與s2交集為空返回True,非空則返回False

S.issubset(s2)             #如果S與s2交集為非空返回True,空則返回False

S.issuperset(...)             #如果S為s2的超集返回True,否則返回False

S.symmetric_difference(s2)      #返回對稱補集, 等同于 S ^ s2

S.symmetric_difference_update(s2) #等同于 S ^= s2, 用 S 與 s2 的對稱補集更新 S

S.union(s2)           #生成 S 與 s2的全集, 等同于 S \# 集合是可迭代對象

集合推導式

集合推導式是用可迭代對象創建集合的表達式

#語法:#{表達式 for 變量 in 可迭代對象 [if 真值表達式]}#示例:#s = {x**2 for x in range(1,10)}#集合推導式可以嵌套#語法用列表推導式的嵌套相同

固定集合 frozenset(原封集合)

固定集合是不可變的,無序的,含有唯一元組的集合

#作用:#固定集合可以作為字典的鍵,還可以作為集合的值(可以放固定鍵)#創建固定集合構造函數 frozenset

frozenset()# 創建一個空的固定集合對象

frozenset(iterable)# 用可迭代對象創建一個新的固定集合對象

fz=frozenset()

fz= frozenset (range(10))

fz= frozenset ([1,3,8,6,9])

d= {frozenset({1,2,3}):"集合1,2,3"}

固定集合的運算:

#&交集 | 并集 -補集 ^對稱補集 < 子集 >超集#<= >= == !=#in / not in#(以上運算規則等用于set中的規則)

固定集合的方法:

相當于集合的全部方法去掉修改集合的方法

python基礎總結

階段總結

#數據類型:#不可變類型:#數字:bool,int,float,complex(復數)#容器:str,tulpe,frozenset,bytes(備留)#可變類型#list,dict,set,bytearray(備留)#值:#None,False,True

#表達式:#1 1 +1#print("hello")#max("ABC")+min("123")#條件表達式:x if x > y else y

#全部的推導式:#列表,字典,集合推導式

#語句:#表達式語句:#print("hello")#"""ABCD""""

#賦值語句:#a = 100#a = b = c = 200#x,y = 100,200#L[1] = 200#d["key"] = "鍵"

#del語句(刪除)#if 語句(如果)elif else:#while語句(循環)#for 語句(固定循環)#break語句(結束循環)#continue語句(重新執行循環)#pass語句

內建函數

#容器相關

len(x),max(x),min(x),sum(x),any(x),all(x)#構造函數:

bool(x) int(x) float(x) complex(r=0.0,i = 0.0)

str(x) list(x) tuple(x) dict(x) set(x) frozenset(x)#數值型 函數:

abs(x) round(x) pow(x,y,z=None) 冪運算#字符串相關

bin(x) oct(x) hex(x) chr(x) 數字 ord(x) 編碼#可迭代對象相關

range(start,stop,step) reversed(x) sorted(x,reverse=False)#輸入輸出相關:

input(x) print(...)#其它:

type(x) id(x)

總結

以上是生活随笔為你收集整理的python中创建集合的语句_Python 集合(set) 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。