摘要:集合在中,是基本數(shù)據(jù)類型的一種集合類型。數(shù)組是一組值,不包含重復(fù)元素。數(shù)組是可變的無序的有限的集合,其元素是唯一的不可變的。函數(shù),清空,集合仍存在,只不過為空集合。判斷集合是否為某集合的父集返回。
set 集合
set 數(shù)組是一組key值,不包含重復(fù)元素。
set 數(shù)組是可變的、無序的、有限的集合,其元素是唯一的、不可變的。
set 數(shù)組沒有(不支持)索引和切片操作。
set有可變集合(set)和不可變集合(frozenset)兩種,其中set:可以原地修改,或者說是可變的,也可以說是 unhashable(不可哈希)的。
frozenset:是一個被“凍結(jié)”的集合,不能原地修改,是 hashable(可哈希)的。
一、set的創(chuàng)建 (1)直接創(chuàng)建 方式:將所有項(元素)放在花括號“{}”內(nèi),以逗號“,”分隔。 集合元素:集合可以有任意數(shù)量的元素,它們可以是不同的類型(例如:數(shù)字、元組、字符串等)。但是,集合不能有可變元素(例如:列表、集合或字典)。>>> a = {1,2,3,4,"a"} >>> type(a)(2)通過set()、frozenset()創(chuàng)建 python中,set類是在python的sets模塊中,不需要導(dǎo)入sets模塊可以直接創(chuàng)建集合。
>>>set("boy") set(["y", "b", "o"])(3)創(chuàng)建空的set集合
創(chuàng)建空集合比較特殊。
在 Python 中,空花括號“{}”用于創(chuàng)建空字典。要創(chuàng)建一個沒有任何元素的集合,使用set()函數(shù)(不要包含任何參數(shù))。
>>> a = set() >>> a set() >>> b = {} >>> type(a),type(b) (ps:創(chuàng)建set例子, )
in關(guān)鍵字,判斷某key是否在set中,并返回True or False。
>>> s = set([1,2,3,2,1,3,4,5]) >>> s {1, 2, 3, 4, 5}(2)add(key)
add()方法:添加元素到set中。可以重復(fù)添加,but沒有效果,因為set中元素唯一性,會過濾重復(fù)的元素。
>>> s.add(6) >>> s {1, 2, 3, 4, 5, 6}(3)update()
update():將參數(shù)添加到set中并返回一個set,自動過濾重復(fù)元素。
update()方法既可以帶一個單參數(shù),也可以帶一個or多個set,就好像多次調(diào)用add()。
remove(key)、discard(key)刪除指定元素。
區(qū)別:其中remove()刪除不存在的key時會返回報錯,而discard()不會。
>>> a_set = {1,2,3,6,10,15,21,28,36,45} >>> a_set {1, 2, 3, 36, 6, 10, 45, 15, 21, 28} # 并不一定是按填寫的順序 >>> a_set.discard(10) >>> a_set {1, 2, 3, 36, 6, 45, 15, 21, 28} >>> a_set.remove(21) Traceback (most recent call last): File "(5)pop()", line 1, in KeyError: 21
pop()函數(shù)不需要帶任何參數(shù),將set中的第一個元素刪除。
>>> a_set.pop() 1 >>> a_set {2, 3, 36, 6, 45, 15, 28}(6)clear()
clear()函數(shù),清空set,集合仍存在,只不過為空集合。
>>> a_set.clear() >>> a_set set()(7)del 刪除一個元素
語法形式:del set_name
set可以看成數(shù)學(xué)意義上的無序、無重復(fù)元素的集合,因此,兩個set可以做數(shù)學(xué)意義上的交集、并集等操作。
交集:兩個set集合之間所有的元素,操作符號為“&”或者intersection()函數(shù);
并集:兩個set集合之間共有的元素,操作符號為“|”或者union()函數(shù);
差集:在a集合中但不在b集合中,方法為difference()函數(shù);
symmetric_difference():在a集合中不在b集合中 and 在b集合中不在a集合中。
>>> s1 =set([1,3,6]) >>> s & s1 # and {1, 3, 6} >>> s | s1 # or {1, 2, 3, 5, 6} >>> a_set = {1,2,3,4,5,6,7,8,9,0} >>> b_set = {1,2,3,4,5,11,12,13,14,15} >>> a_set.union(b_set) # 并集|,或者直接a_set | b_set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15} >>> a_set.intersection(b_set) # 交集&,或者直接使用 a_set & b_set {1, 2, 3, 4, 5} >>> a_set.difference(b_set) # 差集,在a中但不在b中 {0, 6, 7, 8, 9} >>> a_set.symmetric_difference(b_set) #在a中不在b中 and 在b中不在a中 {0, 6, 7, 8, 9, 11, 12, 13, 14, 15}
issubset():判斷集合是否為某集合的子集,返回True or False。
issuperset():判斷集合是否為某集合的父集,返回True or False。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42265.html
摘要:基礎(chǔ)數(shù)據(jù)類型版本分為余版本,目前同時發(fā)行。對中文支持較差,如果要在程序中使用中文字符或中文變量,則需要在源程序的第一行增加,當(dāng)然別忘了將源文件保存為字符集。運算符左右兩邊都是布爾值,輸出結(jié)果也為 python 基礎(chǔ)數(shù)據(jù)類型 python版本分為2.0余3.0版本,目前同時發(fā)行。以后3.0版本將成為主流地址https://www.python.org/ 編輯器 自帶編輯器IDLE【可...
摘要:集合是中一種基本數(shù)據(jù)類型,它分為可變集合和不可變集合兩種。小于和大于意味著兩個集合在比較時不能相等。等于號允許非嚴格定義的子集和超集。函數(shù)的作用是判斷集合是否是集合的子集,如果是返回,否則返回。 集合set是Python中一種基本數(shù)據(jù)類型,它分為可變集合(set)和不可變集合(frozenset)兩種。類似于其他語言,集合是一個無序不重復(fù)元素集,包括創(chuàng)建集合set、向集合中添加元素、刪...
摘要:最簡單的說法,即是在最原始的集合論樸素集合論中的定義,集合就是一堆東西。若然是集合的元素,記作。這里對被數(shù)學(xué)家們稱為直觀的或樸素的集合論進行一個簡短而基本的介紹更詳細的分析可見樸素集合論。對集合進行嚴格的公理推導(dǎo)可見公理化集合論。 回顧一下已經(jīng)了解的數(shù)據(jù)類型:int/str/bool/list/dict/tuple 還真的不少了. 不過,python是一個發(fā)展的語言,沒準以后還出別...
摘要:的基本數(shù)據(jù)類型中的變量不需要聲明。在里,只有一種整數(shù)類型,表示為長整型,沒有中的。字符串的截取的語法格式如下變量頭下標尾下標索引值以為開始值,為從末尾的開始位置。列表列表是中使用最頻繁的數(shù)據(jù)類型。注意構(gòu)造包含或個元素的元組的特殊語法規(guī)則。 1、python3的基本數(shù)據(jù)類型 Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。在 Python 中,...
摘要:布爾值布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有兩種值的數(shù)據(jù)類型可以通過內(nèi)置的函數(shù)查詢,例如還可以用來判斷和的區(qū)別在于不會認為子類是一種父類類型。會認為子類是一種父類類型?;竟δ苁沁M行成員關(guān)系測試和刪除重復(fù)元素。 ...
閱讀 3295·2021-11-25 09:43
閱讀 2097·2021-09-22 10:02
閱讀 3357·2021-09-06 15:00
閱讀 2308·2019-08-30 15:56
閱讀 2361·2019-08-30 15:54
閱讀 3238·2019-08-30 14:14
閱讀 2271·2019-08-29 17:25
閱讀 2914·2019-08-29 17:16