国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python課堂12——六大數(shù)據(jù)結(jié)構(gòu)之集合

這篇具有很好參考價(jià)值的文章主要介紹了Python課堂12——六大數(shù)據(jù)結(jié)構(gòu)之集合。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

Python中的數(shù)據(jù)結(jié)構(gòu)馬上就要結(jié)束了,今天我們來(lái)學(xué)習(xí)Python中六大數(shù)據(jù)結(jié)構(gòu)的最后一部分集合,堅(jiān)持就是勝利go!


一、集合是什么?

集合是一種數(shù)據(jù)類型,用于存儲(chǔ)一組唯一的元素。集合可以通過(guò)花括號(hào){}來(lái)定義,元素之間使用逗號(hào)分隔。與列表和元組不同,集合中的元素是無(wú)序的,且不允許重復(fù)。

語(yǔ)法:語(yǔ)法:set()/{元素,元素2}

集合具備三個(gè)特點(diǎn)
1.元素必須是不可變類型(字符串 數(shù)值 元祖)
2.唯一性 自動(dòng)去重
3.無(wú)序(沒(méi)有索引,沒(méi)有辦法通過(guò)索引對(duì)集合進(jìn)行修改和查詢的操作)

代碼演示:

s = {1, 1.5, 'a', 'c', 'c', 'a'}
print(s)  # 每次輸出的順序不一樣,并且會(huì)自動(dòng)去重    {1, 'a', 1.5, 'c'}

二、集合的常見操作

1.創(chuàng)建空集合

1.1 集合.add():添加元素,整體添加

# 因?yàn)榧虾妥值涞姆?hào)相同,所以創(chuàng)建集合的時(shí)候要特別注意
se = {}  # 空字典
se1 = set()  # 空集合

2.基本操作

2.1 增
2.1.1 集合.add():添加元素,整體添加

代碼演示:

se = {1, 2, 3}
se.add('abc')
print(se)  # {1, 2, 3, 'abc'}

2.1.2 集合.update(可迭代對(duì)象):添加元素,分散添加

代碼演示:

se = {1, 2, 3}
se.update('abc')
print(se)
# se.update('e', 'f', 2, 9)  # TypeError: 'int' object is not iterable
se.update('e', 'f', [9, 6, 5])  # 添加是可迭代對(duì)象,注意里面不能再有列表
print(se)
# 注意:只能添加不可變類型,列表、元組、字典等

2.2 刪
2.2.1 remove():刪除指定的元素,如果集合會(huì)有就會(huì)刪除,沒(méi)有就會(huì)報(bào)錯(cuò)

代碼演示:

se = {1, 2, 3}
se.remove(1)
print(se)  # {2, 3}

2.2.2 discard() 刪除指定的元素,有就會(huì)刪除,沒(méi)有就不會(huì)發(fā)生任何改變,不會(huì)報(bào)錯(cuò)

代碼演示:

se = {1, 2, 3}
se.discard(1)
print(se)  # {2, 3}

2.2.3 pop() 刪除并返回任意一個(gè)元素,如果集合為空,則引發(fā) KeyError 異常
語(yǔ)法:set.pop()
參數(shù): 該函數(shù)不接受任何參數(shù)。
代碼演示:

set1 = {'a', 'b', 'c', 'd'}
answer = set1.pop()
print(answer)  # d
print(set1)  # {'b', 'a', 'c'}

2.2.4 clear() 方法刪除集合中的所有元素:
代碼演示:

set1 = {'a', 'b', 'c', 'd'}
set1.clear()
print(set1)  # set()

3.成員運(yùn)算符(in; not in)

這個(gè)之前用過(guò)好多次了,就不再重復(fù)了

4.計(jì)算集合的長(zhǎng)度——len()

代碼演示:

se = {1, 2, 3}
print(len(se))  # 3

5.復(fù)制集合——copy()

代碼演示:

se = {1, 2, 3}
new_se = se.copy()

6.集合的集合運(yùn)算

6.1 并集:union() 方法或 | 運(yùn)算符:
set1.union(set2) 或 set1 | set2
代碼演示:

set1 = {'a', 'b', 'c', 'd'}
set2 = {'b', 'c', 'd', 'f'}
print(set1 | set2)  # {'c', 'd', 'b'}

6.2 交集:intersection() 方法或 & 運(yùn)算符:
set1.intersection(set2) 或 set1 & set2
代碼演示:

set1 = {'a', 'b', 'c', 'd'}
set2 = {'b', 'c', 'd', 'f'}
print(set1 & set2)  # {'c', 'f', 'd', 'b', 'a'}

6.3 差集:difference() 方法或 - 運(yùn)算符:集合a中有的但是集合b中沒(méi)有的
set1.difference(set2) 或 set1 - set2
代碼演示:

set1 = {'a', 'b', 'c', 'd'}
set2 = {'b', 'c', 'd', 'f'}
print(set1 - set2)  # {'a'}

6.4 對(duì)稱差集:symmetric_difference() 方法或 ^ 運(yùn)算符:set1.symmetric_difference(set2) 或 set1 ^ set2
代碼演示:

set1 = {'a', 'b', 'c', 'd'}
set2 = {'b', 'c', 'd', 'f'}
print(set1 ^ set2)  # {'f', 'a'}

總結(jié)

歷經(jīng)將近兩個(gè)星期的學(xué)習(xí),關(guān)于python中的數(shù)據(jù)結(jié)構(gòu)我們終于學(xué)完了,這也算是python中最基礎(chǔ)的東西,打好基礎(chǔ),邁出了這一步,我們就能夠在未來(lái)學(xué)習(xí)更加深?yuàn)W的東西,讓我們一起繼續(xù)學(xué)習(xí)吧!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-834670.html

到了這里,關(guān)于Python課堂12——六大數(shù)據(jù)結(jié)構(gòu)之集合的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python中列表,元組,集合,字典哪些數(shù)據(jù)結(jié)構(gòu)支持雙向索引?

    在Python中,我們常用的內(nèi)置數(shù)據(jù)結(jié)構(gòu)有列表、元組、集合和字典。其中,只有列表和元組支持雙向索引,可以通過(guò)正向索引和負(fù)向索引訪問(wèn)元素。而字典和集合不支持索引。 在Python中,內(nèi)置的數(shù)據(jù)結(jié)構(gòu)主要包括: 列表(list):有序,可變的數(shù)據(jù)集合,可以通過(guò)索引訪問(wèn)元素。 元組(tuple)

    2024年02月08日
    瀏覽(67)
  • 【100天精通python】Day9:數(shù)據(jù)結(jié)構(gòu)_字典、集合

    目錄 ?目錄 1 字典? ? ? 1.1 字典的基本操作示例 1.2 字典推導(dǎo)式 2 集合?

    2024年02月15日
    瀏覽(22)
  • python常見的數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu)(一)數(shù)字類型 字符串類型 布爾類型 列表 集合 字典 的定義與常規(guī)操作方法

    數(shù)字類型有int(整數(shù)),float(浮點(diǎn)數(shù))和complex(復(fù)數(shù)型),其中int與float被大家所常用并且可以使用int()和float()函數(shù)相互轉(zhuǎn)換。如果字符串只包含數(shù)字和小數(shù)點(diǎn)也可以被這兩種函數(shù)強(qiáng)制轉(zhuǎn)換。復(fù)數(shù)型,則少被人們使用,大都是用在數(shù)學(xué)公式和物理公式的計(jì)算上。 字符串類型較為簡(jiǎn)單

    2024年02月21日
    瀏覽(32)
  • 數(shù)據(jù)結(jié)構(gòu)——六大排序 (插入,選擇,希爾,冒泡,堆,快速排序)

    數(shù)據(jù)結(jié)構(gòu)——六大排序 (插入,選擇,希爾,冒泡,堆,快速排序)

    1.1基本思路 把待排序的記錄按其關(guān)鍵碼值的大小逐個(gè)插入到一個(gè)已經(jīng)排好序的有序序列中,直到所有的記錄插入完為止,得到一個(gè)新的有序序列? 我們熟知的斗地主就是一個(gè)插入排序 我們這里將一個(gè)無(wú)序數(shù)組變成有序數(shù)組 插入排序時(shí)間復(fù)雜度分析 最優(yōu)情況:待排序的數(shù)組是

    2024年02月17日
    瀏覽(98)
  • 十三、集合進(jìn)階——單列集合 及 數(shù)據(jù)結(jié)構(gòu)

    十三、集合進(jìn)階——單列集合 及 數(shù)據(jù)結(jié)構(gòu)

    List系列集合 :添加的元素是有序、可重復(fù)、有索引。 Set系列集合 :添加的元素是無(wú)序、不重復(fù)、無(wú)索引。 1. Collection Collection 是單列集合的 祖宗 接口,它的功能是 全部單列集合都可以繼承使用的。 Contains方法 細(xì)節(jié) : 2.Collection 的遍歷方式 迭代器遍歷 迭代器 不依賴索引

    2024年02月21日
    瀏覽(15)
  • 探索Java集合框架—數(shù)據(jù)結(jié)構(gòu)、ArrayList集合

    探索Java集合框架—數(shù)據(jù)結(jié)構(gòu)、ArrayList集合

    Java集合的使用相信大家都已經(jīng)非常得心應(yīng)手,但是我們?cè)趺醋龅街淙唬渌匀贿@種出神入化的境界呢?我們揭開集合框架底層神秘面紗來(lái)一探究竟 目錄 一、背景介紹 二、思路方案 數(shù)據(jù)結(jié)構(gòu)是什么? 數(shù)據(jù)結(jié)構(gòu)可以分為線性和非線性兩種數(shù)據(jù)結(jié)構(gòu) 線性數(shù)據(jù)結(jié)構(gòu): 非

    2024年02月10日
    瀏覽(26)
  • 數(shù)據(jù)結(jié)構(gòu)與集合源碼

    數(shù)據(jù)結(jié)構(gòu)與集合源碼

    目錄 數(shù)據(jù)結(jié)構(gòu)概述 概述: 數(shù)據(jù)結(jié)構(gòu)的研究對(duì)象(三個(gè)): 邏輯結(jié)構(gòu): 物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)) 運(yùn)算(相關(guān)算法操作) 常見存儲(chǔ)結(jié)構(gòu): 樹的理解 ?經(jīng)典二叉樹 BST(二叉排序樹) 平衡二叉樹(AVL) 紅黑樹(RBT)(復(fù)雜,不多講,了解) List源碼解析 ? ArraysList在JDK7和JDK8中的

    2024年04月13日
    瀏覽(51)
  • 【數(shù)據(jù)結(jié)構(gòu)】 初識(shí)集合框架

    【數(shù)據(jù)結(jié)構(gòu)】 初識(shí)集合框架

    這里博主將簡(jiǎn)單介紹一下集合框架,想要詳細(xì)了解的可以點(diǎn)擊下方鏈接進(jìn)行查看 java集合官方教程 Java 集合框架 Java Collection Framework ,又被稱為容器 container ,是定義在 java.util 包下的一組接口 interfaces 和其實(shí)現(xiàn)類 classes 。 其主要表現(xiàn)為將多個(gè)元素 element 置于一個(gè)單元中,用于

    2024年02月13日
    瀏覽(18)
  • Java 數(shù)據(jù)結(jié)構(gòu)集合

    Java 數(shù)據(jù)結(jié)構(gòu)集合

    詳細(xì)請(qǐng)轉(zhuǎn)到@pdai的博客 1.1 數(shù)組 (Array) 數(shù)組的優(yōu)點(diǎn): 存取速度快 數(shù)組的缺點(diǎn): 事先必須知道數(shù)組的長(zhǎng)度 插入刪除元素很慢 空間通常是有限制的 需要大塊連續(xù)的內(nèi)存塊 插入刪除元素的效率很低 源碼分析: 1、底層數(shù)據(jù)結(jié)構(gòu)是Object 2、構(gòu)造函數(shù)包括無(wú)參構(gòu)造和有參數(shù)構(gòu)造,有參構(gòu)

    2024年01月24日
    瀏覽(21)
  • 集合中的數(shù)據(jù)結(jié)構(gòu)

    集合中的數(shù)據(jù)結(jié)構(gòu)

    棧 先進(jìn)后出 入口跟出口在同一側(cè) 隊(duì)列 先進(jìn)先出 入口跟出口在不同的一層 數(shù)組 查詢快、增刪慢 查詢快是因?yàn)閿?shù)組的地址是連續(xù)的,我們通過(guò)數(shù)組的首地址就可以找到數(shù)組,之后通過(guò)數(shù)組的下標(biāo)就可以訪問(wèn)數(shù)組的每一個(gè)元素。 增刪慢是因?yàn)閿?shù)組的長(zhǎng)度是固定的,我們?cè)黾踊?/p>

    2024年02月15日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包