成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python數(shù)據(jù)類型 - set 集合

Bryan / 2106人閱讀

摘要:集合在中,是基本數(shù)據(jù)類型的一種集合類型。數(shù)組是一組值,不包含重復(fù)元素。數(shù)組是可變的無序的有限的集合,其元素是唯一的不可變的。函數(shù),清空,集合仍存在,只不過為空集合。判斷集合是否為某集合的父集返回。

set 集合
在Python中,set是基本數(shù)據(jù)類型的一種集合類型。

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例子


二、set操作 (1) in

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()。

(4)remove(key)、discard(key)

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 "", line 1, in 
KeyError: 21
(5)pop()

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。


? thanks for watching, keep on updating...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42265.html

相關(guān)文章

  • 黑教小本本---python 基礎(chǔ)數(shù)據(jù)類型相關(guān)整理

    摘要:基礎(chǔ)數(shù)據(jù)類型版本分為余版本,目前同時發(fā)行。對中文支持較差,如果要在程序中使用中文字符或中文變量,則需要在源程序的第一行增加,當(dāng)然別忘了將源文件保存為字符集。運算符左右兩邊都是布爾值,輸出結(jié)果也為 python 基礎(chǔ)數(shù)據(jù)類型 python版本分為2.0余3.0版本,目前同時發(fā)行。以后3.0版本將成為主流地址https://www.python.org/ 編輯器 自帶編輯器IDLE【可...

    CodeSheep 評論0 收藏0
  • python-數(shù)據(jù)類型set集合

    摘要:集合是中一種基本數(shù)據(jù)類型,它分為可變集合和不可變集合兩種。小于和大于意味著兩個集合在比較時不能相等。等于號允許非嚴格定義的子集和超集。函數(shù)的作用是判斷集合是否是集合的子集,如果是返回,否則返回。 集合set是Python中一種基本數(shù)據(jù)類型,它分為可變集合(set)和不可變集合(frozenset)兩種。類似于其他語言,集合是一個無序不重復(fù)元素集,包括創(chuàng)建集合set、向集合中添加元素、刪...

    mylxsw 評論0 收藏0
  • [零基礎(chǔ)學(xué)Python]一二三,集合

    摘要:最簡單的說法,即是在最原始的集合論樸素集合論中的定義,集合就是一堆東西。若然是集合的元素,記作。這里對被數(shù)學(xué)家們稱為直觀的或樸素的集合論進行一個簡短而基本的介紹更詳細的分析可見樸素集合論。對集合進行嚴格的公理推導(dǎo)可見公理化集合論。 回顧一下已經(jīng)了解的數(shù)據(jù)類型:int/str/bool/list/dict/tuple 還真的不少了. 不過,python是一個發(fā)展的語言,沒準以后還出別...

    CastlePeaK 評論0 收藏0
  • python3學(xué)習(xí)筆記(2)----python數(shù)據(jù)類型

    摘要:的基本數(shù)據(jù)類型中的變量不需要聲明。在里,只有一種整數(shù)類型,表示為長整型,沒有中的。字符串的截取的語法格式如下變量頭下標尾下標索引值以為開始值,為從末尾的開始位置。列表列表是中使用最頻繁的數(shù)據(jù)類型。注意構(gòu)造包含或個元素的元組的特殊語法規(guī)則。 1、python3的基本數(shù)據(jù)類型 Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。在 Python 中,...

    陸斌 評論0 收藏0
  • Python零基礎(chǔ)到入門】Python基礎(chǔ)語法篇——基本數(shù)據(jù)類型【文末送書】

    摘要:布爾值布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有兩種值的數(shù)據(jù)類型可以通過內(nèi)置的函數(shù)查詢,例如還可以用來判斷和的區(qū)別在于不會認為子類是一種父類類型。會認為子類是一種父類類型?;竟δ苁沁M行成員關(guān)系測試和刪除重復(fù)元素。 ...

    Winer 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<