Python數據類型之集合set

2020-12-12 Tz寶寶

# 集合:用來存儲一個無序的不重複的元素序列

# 集合的標識也是大括號{},中間的元素使用逗號","隔開

# 集合的創建方式:

# set(序列)

# s = {"123","qwe"}

# 創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典

# s = {},這種是創建空的字典

# 集合的兩大功能:

# 集合可以實現去重的功能

# 集合可以實現關係測試:交集;差集;併集;是否子集;是否沒有交集

se = {"value","value1","value2"}

print(se)

print(type(se))

# 創建集合

a = {11,22,33,"aa","bb"}

print(a)

print(type(a))

a = set("12345a7b9")

print(a)

print(type(a))

# 創建一個空的集合

# a = {}

# print(type(a)) 這種是創建空的字典

# 這才是創建空的集合

a = set()

print(a)

print(type(a))

創建集合

# 集合輸出會自動去重

a = set("112233456")

print(a)

# 集合輸出順序是無序的,無序即代表輸出的元素每次順序都不一樣,隨機的

a = {122,"ttt",765}

print(a)

print(type(a))

空的集合

# 集合是無序的,不重複的數據類型,因此不支持索引,切片,重複和連接;並沒有像其它數據容器一樣直接提供元素操作,元素操作都是通過函數實現的

# 集合間的運算操作:

# - 差集

# | 併集

# & 交集

# ^ 返回兩個集合中不同時存在的元素

# 差集 -,哪個在前面就以哪個為基準,將前邊集合中包含後邊集合的元素減掉

a1 = {"12","34","56"}

a2 = {"78","12"}

a3 = a1 - a2

print(a3)

a4 = a2 - a1

print(a4)

# 併集 | 將兩個集合合併起來,自動去重

a3 = a1 | a2

print(a3)

# 交集 & 輸出兩個集合中都有的元素

a3 = a1 & a2

print(a3)

# ^ 輸出兩個集合中不同時存在的元素

b1 = a1 ^ a2

print(b1)

集合運算

# 集合常用操作方法

# add 添加元素

# remove 移除指定元素

# pop 隨機移除元素

# clear 清除所有元素

# union 返回兩個集合的併集

# difference 返回兩個集合的差集

# intersection 返回兩個集合的交集

# symmetric_difference 返回兩個集合中不重複元素的集合

# symmetric_difference_update 移除相同元素,添加不同元素

# update 可使用其他數據類型添加元素

# 添加一個元素,集合添加進來的元素不會自己刪除

a5 = {"123","234"}

a5.add("333")

print(a5)

# 移除一個元素,移除的元素需要是在集合中存在的元素,不存在的會報錯

a5.remove("333")

print(a5)

集合方法

# a5.remove("432")

# print(a5)

集合方法

# 隨機移除元素

print(a5.pop())

print(a5.pop())

# 清除所有元素

a5.clear()

print(a5)

集合方法

# 兩個集合併集

a6 = {"11","22","33"}

a7 = {"44","55","33"}

a8 = a6.union(a7)

print(a8)

# 兩個集合差集,哪個在前面就以哪個為基準

a9 = a6.difference(a7)

print(a9)

a9 = a7.difference(a6)

print(a9)

# 兩個集合交集

a9 = a6.intersection(a7)

print(a9)

# 返回兩個集合中不重複元素

a9 = a6.symmetric_difference(a7)

print(a9)

集合方法

# symmetric_difference_update()方法:移除當前集合中在另外一個指定集合相同的元素,並將另外一個指定集合中不同的元素插入到當前集合中

a6.symmetric_difference_update(a7)

print(a6)

集合方法

# update()方法:給集合添加(更新)元素

#使用字典更新

dic = {"name": "Tom", "age": 18, "area": "siming" }

a6.update(dic)

print(a6)

#使用元組更新

tup = (1, 2,3)

a6.update(tup)

print(a6)

#使用列表更新

lis = ["aa", "bb", 123]

a6.update(lis)

print(a6)

#使用集合更新,相當於併集

a6.update(a7)

print(a6)

update

# 集合可以用 in 與 not in 測試成員是否在集合中

if 11 in a:

print("11在集合a中")

else:

print("11不在集合a中")

測試成員
封面

相關焦點

  • 「python學習手冊-筆記」003.數值類型
    ,python的數字類型還包括布爾類型.小數python2.4之後引入了小數這種數據類型,正式名稱叫做Decimal. 需要注意的是python中的Decimal類型和浮點數不是一個東西. 小數很像浮點數,但是小數有固定的位數和小數點.比如,我們可以使用小數對象實現一個只有兩位小數位精度的浮點數.
  • Python 四大數據類型總結
    基本數據類型數值型Python 中的數據皆是對象,比如被熟知的 int 整型對象、float 雙精度浮點型、bool 邏輯對象,它們都是單個元素。舉兩個例子。集合對象。僅使用一對花括號 {},創建一個 set 對象:s = {1,3,5} # 集合變量Python 的容器類型,list、dict、tuple、set 等能方便地實現強大的功能,下面給出幾個案例。1.
  • 聊聊python 數據處理全家桶(Redis篇)
    作者:星安果來源:AirPython前面兩篇文章聊到了 python 處理 Mysql、Sqlite 資料庫常用方式,本篇文章繼續說另外一種比較常用的數據存儲方式:RedisRedis:Remote Dictionary Server,即:遠程字典服務
  • Python數據類型之字符串
    # 字符串是python中最常用的數據類型,我們可以使用引號來創建字符串,引號可以是單引號,雙引號或三引號,本質上單引號和雙引號以及三引號的作用是一樣的 # 字符串是一種不可變的序列類型,單個字符從左到右按照順序排列,同時修改某個位置的字符是不被允許的 #
  • 「009期」JavaSE面試題(九):集合之Set
    ,這篇是集系列的第二篇,主要講解Set集合,第三篇主要講解Map集合。都是用來存儲一組相同類型的元素的。List特點:元素有放入順序,元素可重複 。有順序,即先放入的元素排在前面。Set特點:元素無放入順序,元素不可重複。無順序,即先放入的元素不一定排在前面。不可重複,即相同元素在set中只會保留一份。
  • 四種高性能數據類型,Python collections助你優化代碼、簡潔任務
    選自gitconnected作者:George Seif機器之心編譯參與:王子嘉、杜偉在這篇文章中,機器學習工程師 George Seif 介紹了 Python collections 模塊最受歡迎的四種數據類型以及它們各自的使用方法。這些數據類型可以對代碼進行優化,進而實現更簡潔的任務執行。
  • Python基本數據類型
    整數類型4種進位表示形式十進位:1010,99,-217二進位:以0b或0B開頭:0b101,-0B101八進位:以0o或0O開頭:0o123,-0O456十六進位:以0x或0X開頭:0x9a,-0X89浮點類型浮點數之間的運算存在不確定尾數 !
  • 超硬核的 Python 數據可視化教程!
    matplotlibpython中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,然後開始做縱向與橫向拓展。這是網上的一張關於圖表類型選擇的總結。
  • 【Python Tips】Java 與Python中數據結構比較
    java.util.Listpython.listList ls = new ArrayList();ls = list()ls.size
  • 【Python基礎】快速入門Python(講解、習題)
    1 Python數據類型1.1 字符串在Python中用引號引起來的字符集稱之為字符串,比如:'hello'、"my Python"、"2+3"等都是字符串 Python中字符串中使用的引號可以是單引號、雙引號跟三引號print ('hello world!')hello world!
  • 如何使用Python對Instagram進行數據分析?
    我的方法可用於數據分析、計算機視覺以及任何你所能想到的酷炫項目中。Instagram是最大的圖片分享社交媒體平臺,每月活躍用戶約五億,每日有九千五百萬的圖片和視頻被上傳到Instagram。其數據規模巨大,具有很大的潛能。本文將給出如何將Instagram作為數據源而非一個平臺,並介紹在項目中使用本文所給出的開發方法。
  • Redis詳解:sets數據類型及操作
    【IT168 專稿】 set是集合,和我們數學中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交並差等操作,操作中key理解為集合的名字。  系列文章:  Redis詳解:strings數據類型及操作  Redis詳解:hashes數據類型及操作  Redis詳解:lists數據類型及操作  Redis的set是string類型的無序集合。set元素最大可以包含(2的32次方)個元素。
  • 重磅:包郵寄送《Python數據可視化之美》
    EasyShu微信公眾號聯合主創;著有15篇SCI(E)和SSCI學術論文;出版專著《Excel 數據之美:科學圖表與商業圖表的繪製》和《R語言數據可視化之美:專業圖表繪製指南》;第11屆和第12屆中國R會議數據可視化演講嘉賓;學術研究方向為工業設計、顏色科學、機器視覺、數據分析與可視化等。
  • SDN軟體定義網絡之python應用開發學習總結
    當is_connected為true時則,交換機與控制器連接成功ovs-vsctl del-controller br-swovs-vsctl set controller br-sw tcp:30.0.1.11:6633ovs-vsctl del-controller
  • python 系列(枚舉類型)
    枚舉 - 枚舉類型該enum模塊定義了具有迭代和比較功能的枚舉類型。它可用於為值創建定義明確的符號,而不是使用文字整數或字符串。創建枚舉class通過子類化Enum和添加描述值的類屬性,使用語法 定義新的枚舉。
  • 不想用Object和Array存儲數據,你還有Set和Map
    Set是唯一元素的有序集合。「唯一元素」是最重要的,因為它意味著一個Set中不能存儲重複的元素。但是它沒有鍵-值對系統。Map是Array和Object數據結構的組合。它像Object一樣是鍵-值對的Set,但它也記住插入格式,並具有length(.size)屬性。· Set的聲明和初始化:一個集合可以像這樣初始化。
  • 深入剖析Redis系列:Redis數據結構之集合 - 程序猿的內心獨白
    前言集合(set)類型也是用來保存多個 字符串元素,但和 列表類型不一樣的是,集合中 不允許有重複元素,並且集合中的元素是 無序的,不能通過 索引下標 獲取元素。如圖所示,集合 user:1:follow 包含著 "it"、"music"、"his"、"sports" 四個元素,一個 集合最多可以存儲 2 ^ 32 - 1 個元素。
  • Python2 已終結,入手Python 3,你需要這30個技巧
    使用數據類Python 從 3.7 開始提供數據類功能。這種功能與常規的類以及其他類似的功能(返回多個值的函數以及 dictionary)相比較,有以下優勢:數據類型有最低代碼量要求因為數據類已經自帶了__eq__功能,故而你可以直接進行數據類的對比數據類自帶__repr__,你也可以直接在 debug 時列印出一個數據類數據類型需要你輸入提示
  • 乾貨| 完美Python入門基礎知識點總結
    python的字串列表有2種取值順序從左到右索引默認0開始的,最大範圍是字符串長度少1從右到左索引默認-1開始的,最大範圍是字符串開頭List(列表) 是 Python 中使用最頻繁的數據類型列表可以完成大多數集合類的數據結構實現。
  • Python 30 個技巧
    字典/集合推導與我們使用的列表推導相似,我們也可以使用字典/集合推導,它們使用起來簡單且有效,下面是一個例子:testDict = {i: i * i for i in xrange(10)}testSet = {i * 2 for i in xrange(10)} print(testSet)print(testDict