python數據結構總結——集合

2020-12-11 07blog

python中,列表和元組都是序列的一種,它們的基本特徵,最大區別在於,列表是可變的,而元組則是不可變的。python中還有另外一種序列,叫做集合。

python集合

集合也是一種序列。它的特點是可變,但是無法通過索引操作。因為集合中的元素是無序的。當試圖通過索引進行操作時,會提示TypeError,類型錯誤。集合中的元素還是不可重複的。當嘗試向一個集合中,添加多個重複元素時,重複元素只會存在一個。可通過大括號來創建集合,如下:

大括號創建集合

也可以通過set函數來創建集合,它接受一個序列作為參數,會將該序列中的元素放入集合。仍然會有去重效果。如下:

set函數創建集合

python集合方法

通過add或update方法都可以添加元素到集合,add只能添加單個元素,update可以以序列或字典作為參數。當以字典作為參數時,會將字典中的值都添加到集合中。仍然會有去重效果。如下:

add和update

copy方法可以用於拷貝,clear方法可以清空集合中的元素。如下:

copy和clear

這裡的拷貝仍然是一個淺拷貝,深拷貝和淺拷貝可參考文章:python數據類型總結——字典

刪除集合中指定的元素可以用discard或remove,二者不同之處在於,當試圖刪除一個集合中不存在的元素時,remove會報錯,discard不會。如下:

刪除元素

某些場景下,如果希望隨機刪除集合中的某元素,可使用pop方法,它的返回值為被刪除的元素。如下:

隨機刪除

集合和數學中的集合一樣,可以進行差集,交集或併集的運算。difference用於求差集,intersection用於求交集,union用於求併集。如下:

差集、交集、併集

計算差集還有另一個方法,dirrerence_update,它於difference的區別在於:

difference會返回一個新的集體,用於存放差集結果。difference_update沒有返回結果,會直接修改set1中的內容為差集結果。如下:

差集

用於交集intersection,也有類似的方法,Intersection_update,二者區別和difference和difference_update之間的區別是一致的。

isdisjoint用於判斷兩個集合中是否有重複元素,有則返回False,無則返回True。issubset和issuperset兩個方法可以用於判斷兩個集合是否存在子集關係。如下:

判斷重複和子集

有時候,我們希望把兩個集合中不重複的元素都找出來,這時候,可以用symmetric_difference方法,相應的,它也有一個symmetric_difference_update兄弟。如下:

找不重複

python基本數據類型整理

至此,我們了解了python中所有的基本數據類型。在學習時,我們關注了它們的一些基本特徵,如是否可變,是否是序列,是否有序等。整理總結如下:

相關焦點

  • 必須掌握的四種python數據結構,五分鐘快速掌握
    01什麼是數據結構?數據結構是相互之間存在一種或多種特定關係的數據元素的集合今天要講python的四個內置數據結構:分別是列表、元組、集合和字典,每種結構數據都有自己的特點,應用於不同情況,現在你知道了四種的區別,但是可能不知道什麼時候該用哪一種數據結構,不要著急,等到具體的案例的時候,你自然會知道使用哪一種03回顧總結
  • Python基礎之數據結構(三)——集合
    本篇是關於集合set{ }的筆記。Python常用的8種經典數據結構:特點:集合類型與數學中的集合概念一致,其元素具有確定性、無序性、互異性。應用:集合的創建。集合用大括號{}表示,元素間逗號分隔。可以使用set()或{}直接創建。使用set()函數創建集合會自動地拆分多個字母組成的字符串。
  • Python基礎學習—數據結構:列表
    前面我們學習了pyth
  • 「對比Python學習Go」- 高級數據結構下篇
    根據集合的底層數據結構分析,它解決哈希衝突也是使用的「開發尋址法」。# set.add(obj) 添加集合元素# set.remove(obj) 刪除集合元素# set.update(set) 合併集合# set.pop() 隨機刪除一個元素,並返回該元素獨有數據結構除了類數組和哈希結構外,Go 還有自己獨有的一些結構。
  • 一日一技:python中4大數據結構常用接口簡介
    具體到python中數據結構的選擇運用,雖然有很多類型可供選擇:除了基本的列表、字典、集合和元組4個基本類型外,collections模塊中提供了很多定製化的數據結構,還有專用的堆heapq和枚舉enum等。誠然,特定數據結構在某些應用場景下可能有神奇的效果,但把基礎數據類型用到極致也可堪稱是絕招。
  • 史上最全的Python數據結構:列表和元組用法總結
    閱讀本文大概需要8分鐘:Python內置了很多有用的數據結構,今天我們先來介紹2大法寶,列表和元組
  • 了解這些python數據結構,你也可以進BAT
    了解了數據結構,你就能把python代碼寫的如絲般順滑。  現如今在很多大廠面試中,面試官都會著重考察候選人對數據結構的認識程度和應用水平,為什麼呢?因為在實際工作過程中,數據結構就像代碼的地基一樣,地基不牢地動山搖。只有充分理解數據機構,才能在工作中應用的得心應手。Python中有哪些數據結構呢?
  • Python基石 | Python中的數據結構詳解
    了解Python提供的不同數據結構,包括列表、元組等介紹數據結構聽起來是一個非常直截了當的話題,但許多數據科學和分析的新手並不知道它是什麼,當我詢問這些人關於Python中不同的數據結構以及它們是如何工作的時,他們一片空白。
  • 新手必知的Python數據結構詳解
    通常來說,數據結構分為兩類:原始數據結構和非原始數據結構,原始數據結構是用來表示簡單的數據關係,非原始數據結構包含原始數據結構,同時,數據關係更加複雜,數據操作也更加複雜。原始數據結構    原始數據結構 - 顧名思義 - 是最原始的或基本的數據結構。
  • 學好Python,必須熟練掌握的幾種數據結構【文末送書】
    python提供了多種數據結構可供選擇,除了全局的列表、字典、集合和元組4個基本類型外,collections模塊提供了一些定製化的數據結構集合類數據結構,array和heapq模塊則分別提供了數組和堆數據結構,本文就這4種類型加以分別介紹。本文所指數據結構特指容器類數據結構,不包含int、str、boolean等單數據類型。
  • python數據類型串講(下)
    1、字典dict顧名思義,字典就像我們日常生活中使用的新華字典,其作用在於根據索引(拼音或偏旁)快速查找到所需內容,而python中的字典也是如此,python中字典的索引稱為「鍵」(key),由python中不可變的數據類型(如字符串、數值等)構成,具有固定(不可變)、唯一(不可重複)性;python中字典的內容稱為「值」,其可以為python中的任意標準數據類型的一種或多種
  • python數據類型總結——列表
    多個元素的集合也是一種常見的表達方式。python用列表或元組來幫助我們。python列表一系列元素組成一個集合,可能通過索引,對每個元素進行訪問。這種數據類型統稱為序列。在python中,字符串就是一種序列。列表,也是序列的一種。
  • python數據類型總結——布爾
    在python中,我們經常會遇到是或否的判斷。根據是或否,來絕對後續的處理邏輯。那麼,是或否在python中,用布爾來描述,英文名為bool。python布爾python中, 可以通過type函數來獲取一個對象的類名,如下:type函數把一些常用的數據類型的對象放進去,你可能得到
  • Simple is better than complex——python中4大數據結構常用接口簡介
    具體到python中數據結構的選擇運用,雖然有很多類型可供選擇:除了基本的列表、字典、集合和元組4個基本類型外,collections模塊中提供了很多定製化的數據結構,還有專用的堆heapq和枚舉enum等。誠然,特定數據結構在某些應用場景下可能有神奇的效果,但把基礎數據類型用到極致也可堪稱是絕招。
  • 一文總結數據科學家常用的Python庫(下)
    24個熱門的python庫,查看上篇。一文總結數據科學家常用的Python庫(上)用於建模的Python庫我們已經到達了本文最受期待的部分 - 構建模型!這就是我們大多數人首先進入數據科學領域的原因,不是嗎?讓我們通過這三個Python庫探索模型構建。
  • Python中的四種數據結構
    Python中的內置數據結構(Built-in Data Structure):列表list、元組tuple、字典dict、集合set,涵蓋的僅有部分重點。6、替換元素mylist[0] = 'Baidu'mylist[1] = ['python', 'java', 'php']  # 集合的數據類型可以不同,也可以是集合7、列表排序mylist = [1, 2, 5, 4]mylist.sort()          # [1, 2 ,4, 5]
  • python高級用法,自定義數據結構,我猜你一定沒使用過
    文/IT可達鴨圖/IT可達鴨、網絡前言每個學習python的人都會對這些原生的數據結構有一定的了解,python底層給我們提供了多種多樣的原生數據結構,例如:list同樣的,原生數據結構所定義的基本方法,也是大家所熟悉的,例如:len()、str()、int()等等。當然還有,我們最最熟悉的比較操作符,例如:>=、==、<=等等。還有運算操作符、容器操作等等。魔術方法我現在告訴你,其實上面這些原生數據結構、操作符、運算符都可以自定義,而且非常簡單。
  • Python的集合與字典
    Set(集合)集合(set)是一個無序不重複元素的序列。基本功能是進行成員關係測試和刪除重複元素。/usr/bin/python3student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}print(student) # 輸出集合,重複的元素被自動去掉# 成員測試if('Rose'
  • Python 四大數據類型總結
    基本數據類型數值型Python 中的數據皆是對象,比如被熟知的 int 整型對象、float 雙精度浮點型、bool 邏輯對象,它們都是單個元素。舉兩個例子。僅使用一對花括號 {},創建一個 set 對象:s = {1,3,5} # 集合變量Python 的容器類型,list、dict、tuple、set 等能方便地實現強大的功能,下面給出幾個案例。1.
  • 集合:Python最後一類序列,序列知識點匯總
    主題Python基礎知識點「序列」已經進入第十一個章節,學完最後一類序列「集合」後,再對序列知識點進行總結。1、何為集合?2、如何操作集合?3、列表、元組、字典、集合四類序列間的異常?集合定義:集合是Python中一種無序可變、元素不能重複的序列。