好程式設計師Python培訓分享數據類型Set集合實例詳解

2020-12-28 騰訊網

好程式設計師Python培訓分享數據類型Set集合實例詳解,結合實例形式詳細分析了Python數據類型中集合的概念、原理、創建、遍歷、交集、併集等相關操作技巧,下面我們一起來看一下吧。

1.概述

set與dict類似,但set是一組key的集合,與dict的區別在於set不存儲value。

本質:無序且無重複元素的集合(具有自動去重的功能)。

2.set的創建

語法:

set1 = set([1, 2, 3, 4, 5])

注意:創建set需要一個list或者tuple或者dist作為輸入集合,重複的元素在set中會被自動的過濾

s1 = set([1, 2, 3, 4, 5])

print(s1)

輸出:

3.set操作

3.1set.add()

1.可以添加重複的元素,但是不會有效果

2.add的元素不能是列表或者字典,因為他們是可變的

s1 = set([1, 2, 3, 4, 5])

s1.add(6)

s1.add((2, 3, 4))

print(s1)

結果

3.2set.update()

功能:插入整個list、tuple、字符串打碎插入

注意:不能直接插入數字。

s1 = set([1, 2, 3, 4, 5])

s1.update([4,"anam","hha"])

s1.update("hello")

print(s1)

結果

3.3set.remove(元素)

功能:刪除元素

s1 = set([1, 2, 3, 4, 5])

s1.remove(3)

print(s1)

輸出:

3.4遍曆元素

語法:

for i in set :

print(i)

注意:set是無序的,因此不能通過下標獲取元素。

for index, data in enumerate(set):

print(index, data)

可以通過這種方式,來強行添加下標

s1 = set([1, 2, 3, 4, 5])

for i in s1:

print(i)

for index,data in enumerate(s1):

print(index, data)

輸出:

1

2

3

4

5

0 1

1 2

2 3

3 4

4 5

3.5交集與併集

語法:

交集newest=set1&set2

併集newest=set1|set2

s1 = set([1, 2, 3, 4, 5])

s2 = set([4, 5, 6, 7])

s3 = s1 & s2

s4 = s1 | s2

print(s3)

print(s4)

結果

相關焦點

  • Python合集之Python集合(二)
    1.1 向集合中添加元素向集合中添加元素可以使用add()方法實現,語法格式如下:setname.add(element)參數說明:setname:表示要添加元素的集合element:表示要添加元素內容,只能使用字符串、數字、布爾類型的true或者false及元組等不可變對象,不能使用列表,字典等可變對象。
  • 為什麼set集合過濾停用詞能那麼快?
    本文目錄set集合的基本用法set集合的創建Set集合的交集&併集&差集set的集合推導式set集合的常用內置方法字典生成式字典常用內置方法set集合為什麼可以加速篩選字典和集合的基本概念字典和集合的存儲原理字典和集合的操作原理總結下面我們複習一下set集合和字典的用法,溫故而知新,最終探究,set集合能夠加速過濾停用詞的原理是什麼。
  • Python Set集合
    集合中的方法:name = {'d', 's'}name.add('d')name返回結果:{'d', 's'}name.add('sd')name返回結果:{'sd', 'd', 's'}name = {'sd', 'd', 's'}name.update('df')name返回結果
  • 你真的理解 Python 面向對象?
    實例:對於主機列表頁面,每次請求不可能把資料庫中的所有內容都顯示到頁面上,而是通過分頁的功能局部顯示,所以在向資料庫中請求數據時就要顯示的指定獲取從第m條到第n條的所有數據(即:limit m,n),這個分頁的功能包括:# ############### 定義 ###############class Pager:    def __init__(self, current_page
  • Python2 已終結,入手Python 3,你需要這30個技巧
    這種功能與常規的類以及其他類似的功能(返回多個值的函數以及 dictionary)相比較,有以下優勢:數據類型有最低代碼量要求因為數據類已經自帶了__eq__功能,故而你可以直接進行數據類的對比數據類自帶__repr__,你也可以直接在 debug 時列印出一個數據類數據類型需要你輸入提示,這樣 bug 量會大大減少
  • 單片機上運行Python-MicroPython(三)
    如果需要使用大的永久性緩衝或其它類型對象,最好在程序運行的早期就進行實例化,以避免內存碎片的影響。若要更進一步改善這種情況,可以監視堆棧的狀態並手動控制垃圾回收器的執行。大致方法會在下面章節介紹。內存狀態報告有許多庫函數可用於報告內存的分配情況和控制垃圾回收器的執行。其多存在於gc模塊和micropython模塊。可將下面的示例代碼粘貼到REPL中運行查看效果。
  • 不想用Object和Array存儲數據,你還有Set和Map
    圖源:unsplash許多年來,程式設計師們一直使用Object和Array來存儲數據,這種趨勢不僅僅局限於JavaScript。除了這兩個選項外,沒有其他選擇來存儲多個值和處理數據結構。Set是唯一元素的有序集合。「唯一元素」是最重要的,因為它意味著一個Set中不能存儲重複的元素。但是它沒有鍵-值對系統。Map是Array和Object數據結構的組合。它像Object一樣是鍵-值對的Set,但它也記住插入格式,並具有length(.size)屬性。· Set的聲明和初始化:一個集合可以像這樣初始化。
  • Python 數據集探索與可視化實例指南
    字幕組雙語原文:Python 數據集探索與可視化實例指南英語原文:Explore and Visualize a Dataset with Python .dt是所謂的訪問器,其中有三個cat,str和dt。 如果您的數據類型正確,則可以使用這些訪問器及其方法進行直接操作(計算有效且簡潔)。
  • 30行Python代碼實現3D數據可視化
    3d 類型ax = fig.add_subplot(projection='3d')# 構造數據X = np.arange(-5, 5, 0.25)Y = np.arange(-5, 5, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)
  • Python處理音頻文件的實用姿勢
    此外每份數據大小以及聲道數,與採樣率一起,決定了保存後聲音和原聲間的差距。和圖像一樣,音樂也有很多種壓縮算法。所謂「無損音樂」,就是確保源文件信息不丟失情況下壓縮數據,常見格式如flac、ape、wav;更常見的音樂格式是mp3,是一種有損壓縮格式,雖然老舊,但依舊流行。
  • 數據模型概念及類型劃分
    1)數據結構:數據模型中的數據結構主要描述數據的類型、內容、性質以及數據間的聯繫等。數據結構是數據模型的基礎,數據操作和約束都建立在數據結構上。不同的數據結構具有不同的操作和約束。  2)數據操作:數據模型中數據操作主要描述在相應的數據結構上的操作類型和操作方式。
  • python列表、元組、字典、集合的知識點及區別
    概念列表(list):是一組任意類型的值,按照一定順序組合而成的,可變的序列,支持索引、切片、合併、刪除等等操作,它們都是在原處進行修改列表。l=[1,"張三",2]元組(tuple):帶了緊箍咒的列表,元組本身不可變數據類型,沒有增刪改,但可以間接性的修改,元組內可以存儲任意數據類型。t=(1,"張三",2),t=([1,"張三",2],2)集合(set):集合裡面的元素是不可重複的。
  • Python數據分析實戰:TMDB電影數據可視化
    指定引擎  不然會報錯誤df = pd.read_csv('tmdb_5000_movies.csv', engine='python')df.head()# 由於數據集中包含的信息過多,其中部分數據並不是我們研究的重點,所以從中抽取分析要用的數據:# 關鍵詞  電影名稱  電影類型  首次上映日期
  • Python3的字符串類型(瘋狂Python)
    實例如下:In [13]: print (ss[0:-1]) #第一個到最後,不包含最後一個JABCDEFGHIIn [14]: print (ss[1:5]) # 輸出從第二個開始到第五個的字符BCDEIn [15]: print (ss[3:]) #輸出從第4個開始到最後DEFGHIJIn [16]: print (ss * 3) # 輸出字符串3次ABCDEFGHIJABCDEFGHIJABCDEFGHIJIn
  • python:控制流程 - for迭代循環
    #python集合的遍歷se = {'k11', 'k12', 'k13'}for i in se:print(i)輸出結果:k11k12k13實例4.continue 是跳出當前循環,進入下一次循環; 3. else 是只有在正常迭代結束時運行else,即不是被break終止的情況編制by偉森leung 喜歡本文章的可以請關注偉森leung,後續有更多python方面的知識分享。
  • 讓所有程式設計師絕不能錯過的59個Python庫總結!
    Python有以下三個特點:易用性和靈活性全行業高接受度:Python無疑是業界最流行的數據科學語言用於數據科學的Python庫的豐富數量優勢本文介紹了python人最常用的59個python庫。一起來看看吧~用於數據收集的Python庫1.
  • Redis底層數據結構——整數集合
    整數集合是什麼 Redis 中的整數集合 intset 是用來保存多個不重複的整數值且有序的集合抽象數據結構,可以保存類型為 int16-t 、int32-t 或者 int64-t 的整數值。整數集合應用場景 整數集合在 Redis 中作為了集合 Set 數據結構的底層實現之一。
  • 無序的集合:Python中的數學集合運算
    通過使用update() 或使用|=運算符來執行,返回類型為None,將修改原始集本身。語法:update(*others)set |= other | ...可以通過使用 intersection_update()或使用&=運算符來執行,返回類型為None,將修改原始集本身。
  • 新手請進:每個Python程式設計師都應該知道的10個縮寫詞
    大家都知道編程本身是關於編碼的,但是程序本身應該是關於數據的。程序需要獲取輸入數據、處理數據和輸出數據。請注意,此處討論的數據是最一般意義上的數據,可以包括表格數、字符串、用戶操作(例如單擊按鈕)、圖像以及任何形式的具有信息的數據。代碼的工作就是處理各種形式的數據,並以所需的方式呈現它們。
  • 被「嫌棄」的分號的一生:不要在Python中使用無用分號了
    最近,筆者正在學習Python的數據科學課程。講師講解了條件語句並編寫了以下代碼:temp =10;if temp <12: print('It is cold'); cold = True;筆者當時的反應是:這太可怕了!分號僅在Python中的非典型情況下使用。