国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python基礎知識之集合

libxd / 1800人閱讀

摘要:和一樣可以將元素從集合中刪除,區別是如果元素不存在則不會報錯。從集合中隨機刪除一個元素,并且返回該元素,如果集合為空則會報錯用于清空集合。

集合的描述

集合是無序的、不重復的數據集合,它本身是可變的,但里面的元素是不可變類型(這里要注意,即使是含有列表的元組也不可以,必須是完全不可變類型)

創建集合

創建集合可以使用大括號{}來創建,元素間用逗號分隔,但是不能用它來創建空集合,因為{}創建的是空字典。

如 set1 = {1,2,3}

也可以使用set()函數來創建集合,其中的參數為可迭代對象即可(比如字符串、列表、元組、迭代器等),前提是元素中必須是不可變類型。

i = "abcdefg"
a =set(i)
print(type(a))
print(a)
----------

{"b", "a", "f", "d", "g", "e", "c"}
增 add update

add(elem)
可以向集合中添加新元素,如果該元素已存在則不做任何改變

s1 = {1,2,3}
s1.add("qwe")
print(s1)
----------
{1, 2, 3, "qwe"}

update(*others)
可將其他可迭代對象(比如字符串、列表、元組)添加到集合中,自動刪除重復元素

s1 = {1,2,3}
it = [3,4,5]
s1.update(it)
print(s1)
----------
{1, 2, 3, 4, 5}
刪 remove(elem) discard(elem) pop() clear()

remove(elem)
將元素從集合中刪除,如果該元素不存在則會報錯。

s1 = {1,2,3}
s1.remove(2)
print(s1)
----------
{1, 3}

discard(elem)
和remove一樣可以將元素從集合中刪除,區別是如果元素不存在則不會報錯。

s1 = {1,2,3}
s1.discard(6)
print(s1)
----------
{1, 2, 3}

pop()
從集合中隨機刪除一個元素,并且返回該元素,如果集合為空則會報錯

s1 = {1,2,3}
a = s1.pop()
print(s1)
print(a)
----------
{2, 3}
1

clear()
用于清空集合。

幾種運算方法

對于集合來講有幾種運算方法:交集、并集、差集、反交集、子集、超集
下面用代碼來詳細說明每種方法的用法

s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
print("交集:",s1 & s2) #可用&或者intersection,輸出一個新的集合,包含共同擁有的元素
print("交集:",s1.intersection(s2))
print("并集:",s1 | s2) #可用|或者union,輸出一個新的集合,包含兩個集合中所有的元素(去重)
print("并集:",s1.union(s2))
print("差集:",s1 - s2) #可用 - 或者difference,輸出一個新的集合,包含前一個集合中除去共有的元素
print("差集:",s1.difference(s2))
print("反交集:",s1 ^ s2) #可用^或者 symmetric_difference,輸出一個新的集合,包含兩個集合中除去共有的元素后剩余的所有元素
print("反交集:",s1.symmetric_difference(s2))
    交集: {3, 4, 5}
    交集: {3, 4, 5}
    并集: {1, 2, 3, 4, 5, 6, 7}
    并集: {1, 2, 3, 4, 5, 6, 7}
    差集: {1, 2}
    差集: {1, 2}
    反交集: {1, 2, 6, 7}
    反交集: {1, 2, 6, 7}
    

子集與超集,簡單來講就是一個集合中的元素包含另一個集合中所有的元素,則“大的”集合叫超集,“小的”叫子集

s1 = {1,2,3}
s2 = {1,2,3,4,5}
print(s1.issubset(s2)) #輸出為True,s1是s2的子集
print(s2.issuperset(s1))#輸出為True,s2是s1的超集
----------
    True
    True

另外,使用frozenset("集合名"),可以把集合變成不可變集合

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42555.html

相關文章

  • Python基礎(四)集合

    摘要:并且集合中的元素也是隨機排序的。除了用來創建集合,還可以使用的方式,但是這種方式不提倡使用,因為在某些情況下,搞不清楚是字典還是集合。集合不是序列類型,不能用索引方式對其進行修改和實現集合和列表兩種對象之間的轉化。 集合Set類似字典的特點,可以用{}花括號來定義;其中的元素是沒有序列,也就是非序列類型的數據;而且集合中的元素不可重復,這就類似于dict鍵。 創建集合 >>> s1 =...

    CKJOKER 評論0 收藏0
  • 1024程序員節最新福利2018最全大數據資料集合

    摘要:前言有好久沒有寫博客了主要這段時間都沉迷學習無法自拔了哈哈自吹一波前兩天不是節嗎所以就有很多福利出現了當然每個人能都獲得的信息都有所不同這就是所謂的信息差秉著好東西需要分享和開源的好習慣所以來給你們送福利了其他福利一程序員節最新福利之最全資 前言 有好久沒有寫博客了,主要這段時間都沉迷學習無法自拔了,哈哈.自吹一波. 前兩天不是1024節嗎,所以就有很多福利出現了,當然每個人能都獲得的...

    RancherLabs 評論0 收藏0
  • Python基礎接口——從協議到抽象基類

    摘要:本文重點協議是中非正式的接口了解抽象基類的基本概念以及標準庫中的抽象基類掌握抽象基類的使用方法。三抽象基類的使用通過繼承聲明抽象基類聲明抽象基類最簡單的方式是繼承或其他抽象基類注意在之間,繼承抽象基類的語法是。 導語:本文章記錄了本人在學習Python基礎之面向對象篇的重點知識及個人心得,打算入門Python的朋友們可以來一起學習并交流。 本文重點: 1、協議是Python中非正式的接...

    TwIStOy 評論0 收藏0
  • 「碼個蛋」2017年200篇精選干貨集合

    摘要:讓你收獲滿滿碼個蛋從年月日推送第篇文章一年過去了已累積推文近篇文章,本文為年度精選,共計篇,按照類別整理便于讀者主題閱讀。本篇文章是今年的最后一篇技術文章,為了讓大家在家也能好好學習,特此花了幾個小時整理了這些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 讓你收獲滿滿! 碼個蛋從2017年02月20...

    wangtdgoodluck 評論0 收藏0
  • Python基礎到入門】Python基礎語法篇——基本數據類型【文末送書】

    摘要:布爾值布爾值和布爾代數的表示完全一致,一個布爾值只有兩種值的數據類型可以通過內置的函數查詢,例如還可以用來判斷和的區別在于不會認為子類是一種父類類型。會認為子類是一種父類類型。基本功能是進行成員關系測試和刪除重復元素。 ...

    Winer 評論0 收藏0

發表評論

0條評論

libxd

|高級講師

TA的文章

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