最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中set方法的使用教程詳解

 更新時(shí)間:2023年04月26日 15:33:21   作者:小軒_liang  
在Python中,set是一種集合數(shù)據(jù)類型,表示一個(gè)無(wú)序且不重復(fù)的集合。本文主要為大家詳細(xì)介紹了Python中set方法的使用,需要的可以參考一下

一、序言

在Python中,set是一種集合數(shù)據(jù)類型,表示一個(gè)無(wú)序且不重復(fù)的集合。set()方法可以用于創(chuàng)建一個(gè)空的集合,也可以將其他可迭代對(duì)象轉(zhuǎn)換為集合。與其他Python數(shù)據(jù)類型不同,set沒(méi)有索引,不能通過(guò)索引訪問(wèn)其元素,但可以使用一些方法來(lái)操作和訪問(wèn)集合中的元素。創(chuàng)建一個(gè)空集合使用set()方法

二、常用set()方法詳解

1.add():添加一個(gè)元素到set集合中

# add()語(yǔ)法如下:
set.add(elmnt)

# 案例如下:
set1 = {1,2,3}
set1.add(4)
print(set1)

# 輸出結(jié)果如下
{1, 2, 3, 4}

2.clear():從set集合中移除所有元素

# clear()語(yǔ)法如下:
set.clear()
# 案例如下:
set1 = {1, 2, 3}
set1.clear()
print(set1)
# 輸出結(jié)果如下:
set()

3.copy():用于拷貝一個(gè)集合,使用copy()方法創(chuàng)建的副本是原始集合的一個(gè)完整副本,對(duì)復(fù)制后的集合進(jìn)行操作不會(huì)影響原始集合。

# 語(yǔ)法如下:
new_set = old_set.copy()
# 案列如下:
set1 = {1, 2, 3}
set2 = set1.copy()
set2.add(4)
print(set1)
print(set2)
# 輸出結(jié)果如下:
{1, 2, 3}
{1, 2, 3, 4}
# 首先,我們創(chuàng)建了一個(gè)原始集合,然后使用copy方法創(chuàng)建了一個(gè)新集合,并在新集合中添加了一個(gè)元素4,
# 最后,我們打印了原始集合和復(fù)制出的新集合,可以看到兩個(gè)集合互不影響。

4.difference() : 方法用于返回集合的差集,即返回的集合元素包含在第一個(gè)集合中,但不包含在第二個(gè)集合(方法的參數(shù))中。

# 語(yǔ)法如下:
set1.difference(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.difference(set2))
# 輸出結(jié)果如下:
{1}

5.difference_update() :方法用于移除兩個(gè)集合中都存在的元素

difference_update() 方法與 difference() 方法的區(qū)別在于 difference() 方法返回一個(gè)移除相同元素的新集合,而 difference_update() 方法是直接在原來(lái)的集合中移除元素,沒(méi)有返回值。

# 語(yǔ)法如下:
set1.difference_update(set2)
# 案例如下:
set1 = {1, 2, 3, 4, 5}
set2 = {2, 3, 4}
set1.difference_update(set2)
print(set1)
# 輸出結(jié)果如下
{1, 5}

6.discard() 方法語(yǔ)法:discard() 方法用于移除指定的集合元素。

該方法不同于 remove() 方法,因?yàn)?remove() 方法在移除一個(gè)不存在的元素時(shí)會(huì)發(fā)生錯(cuò)誤,而 discard() 方法不會(huì)。

# 語(yǔ)法如下:
set.discard(value)
# 案例如下
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.discard(2), set2.discard(3)
print(set1, set2)
# 輸出結(jié)果如下:
{1, 3} {2, 4}
# 刪除不存在元素,不會(huì)引發(fā)任何異常
set1.discard(4)
print(set1)
# 輸出結(jié)果如下
{1, 2, 3}

7.intersection() 方法用于返回兩個(gè)或更多集合中都包含的元素,即交集。

# 語(yǔ)法如下:
set1.intersection(set2, set3, ...)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1.intersection(set2)
print(set3)
# 輸出結(jié)果如下:
{2, 3}

8.intersection_update()方法用于獲取兩個(gè)或更多集合中都重疊的元素,即計(jì)算交集。

intersection_update() 方法不同于 intersection() 方法,因?yàn)?intersection() 方法是返回一個(gè)新的集合,而 intersection_update() 方法是在原始的集合上移除不重疊的元素。

# 語(yǔ)法如下:
set1.intersection_update(set2, set3, ...)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.intersection_update(set2)
print(set1)
# 輸出結(jié)果如下:
{2, 3}

9.isdisjoint() 方法用于判斷兩個(gè)集合是否包含相同的元素,如果沒(méi)有返回 True,否則返回 False。

# 語(yǔ)法如下:
set1.isdisjoint(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {4, 5, 6}
print(set1.isdisjoint(set2))
print(set3.isdisjoint(set1))
# 輸出如果如下:
False
True

10.issubset() 方法用于判斷一個(gè)集合是否是另一個(gè)集合的子集。如果一個(gè)集合的所有元素都包含在另一個(gè)集合中,如果是則返回 True,否則返回 False

# 語(yǔ)法如下:
set1.issubset(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {1, 2, 3, 4}
print(set1.issubset(set2))
print(set1.issubset(set3))
# 輸出結(jié)果如下:
False
True

11.issuperset() 方法用于判斷一個(gè)集合是否是另一個(gè)集合的超集。如果一個(gè)集合包含另一個(gè)集合的所有元素,則該集合是另一個(gè)集合的超集,issuperset()方法返回True;否則返回False。

# 語(yǔ)法如下:
set1.issuperset(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {1, 2, 3, 4}
print(set1.issuperset(set2))
print(set3.issuperset(set1))
# 輸出結(jié)果如下:
False
True

12.pop() 方法用于隨機(jī)移除一個(gè)元素并返回該元素的值。

# 語(yǔ)法如下:
set.pop()
# 案例如下:
# 隨機(jī)移除一個(gè)元素:
set1 = {1, 2, 3, 4}
set1.pop()
print(set1)
# 結(jié)果如下:
{2, 3, 4}
# 輸出返回值:
set1 = {1, 2, 3, 4}
print(set1.pop())
# 結(jié)果如下:
1

13.remove() 方法用于移除集合中的指定元素。

該方法不同于 discard() 方法,因?yàn)?remove() 方法在移除一個(gè)不存在的元素時(shí)會(huì)發(fā)生錯(cuò)誤,而 discard() 方法不會(huì)。

# 語(yǔ)法如下:
set.remove(item)
# 案例如下:
set1 = {1, 2, 3, 4}
set1.remove(4)
print(set1)
# 輸出結(jié)果如下:
{1, 2, 3}

14.symmetric_difference() 方法返回兩個(gè)集合中不重復(fù)的元素集合,即會(huì)移除兩個(gè)集合中都存在的元素,即返回兩個(gè)集合中互不相同的元素集合。

# 語(yǔ)法如下:
set1.symmetric_difference(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.symmetric_difference(set2))
# 輸出結(jié)果如下:
{1, 4}

15.symmetric_difference_update() 方法移除當(dāng)前集合中在另外一個(gè)指定集合相同的元素,并將另外一個(gè)指定集合中不同的元素插入到當(dāng)前集合中。

# 語(yǔ)法如下:
set1.symmetric_difference_update(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4, 5}
set1.symmetric_difference_update(set2)
print(set1)
# 輸出結(jié)果如下:
{1, 4, 5}

16.union() 方法返回兩個(gè)集合的并集,即包含了所有集合的元素,重復(fù)的元素只會(huì)出現(xiàn)一次。

# 語(yǔ)法如下:
set1.union(set2)
# 案例如下:
# 合并兩個(gè)集合,重復(fù)元素只會(huì)出現(xiàn)一次:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.union(set2))
# 輸出結(jié)果如下:
{1, 2, 3, 4}
# 合并多個(gè)集合:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5, 6, 7}
print(set1.union(set2, set3))
# 輸出結(jié)果如下:
{1, 2, 3, 4, 5, 6, 7}

17.update() :方法用于修改當(dāng)前集合,可以添加新的元素或集合到當(dāng)前集合中,如果添加的元素在集合中已存在,則該元素只會(huì)出現(xiàn)一次,重復(fù)的會(huì)忽略。

# 語(yǔ)法如下:
set1.update(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.update(set2)
print(set1)
# 結(jié)果如下:
{1, 2, 3, 4}

三、總結(jié)

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

使用set()方法創(chuàng)建空集合非常簡(jiǎn)單。只需調(diào)用set()方法,即可創(chuàng)建一個(gè)空的set對(duì)象。

# 例子:
set_data = set()
print(set_data)
# 輸出結(jié)果如下:
set()

2.將可迭代對(duì)象轉(zhuǎn)換為集合

set()方法還可以將其他可迭代對(duì)象(如列表、元組和字符串)轉(zhuǎn)換為集合。

# 案例:
list1 = [1, 2, 3, 4, 5]
set1 = set(list1)
print(set1)
tuple1 = (1, 2, 3, 4, 5)
set2 = set(tuple1)
print(set2)
str1 = "Hello, world!"
set3 = set(str1)
print(set3)
# 輸出結(jié)果如下:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{'d', 'H', 'o', ',', 'l', 'e', '!', 'r', 'w', ' '}

3.set()方法的其他用法

將字符串拆分為單個(gè)字符并將其存儲(chǔ)在集合中。

# 例子:
str2 = "Python"
set4 = set(str2)
print(set4)
# 輸出結(jié)果:
{'h', 't', 'o', 'n', 'P', 'y'}

4.結(jié)論

集合對(duì)象有許多內(nèi)置方法可用于添加、刪除、合并、比較和操作集合中的元素。以下是set對(duì)象的一些常見方法:

  • add(): 用于將單個(gè)元素添加到集合中。
  • clear(): 用于清空集合中的所有元素。
  • copy(): 用于創(chuàng)建集合的副本。
  • difference(): 用于返回兩個(gè)集合的差集。
  • difference_update(): 用于刪除集合中與另一個(gè)集合相同的元素。
  • discard(): 用于刪除集合中指定的元素。
  • intersection(): 用于返回兩個(gè)集合的交集。
  • intersection_update(): 用于保留集合中與另一個(gè)集合相同的元素。
  • isdisjoint(): 用于判斷兩個(gè)集合是否沒(méi)有共同元素。
  • issubset(): 用于判斷一個(gè)集合是否是另一個(gè)集合的子集。
  • issuperset(): 用于判斷一個(gè)集合是否是另一個(gè)集合的超集。
  • pop(): 用于隨機(jī)移除一個(gè)元素。
  • remove(): 用于移除集合中的指定元素。
  • symmetric_difference(): 用于返回兩個(gè)集合的對(duì)稱差集。
  • symmetric_difference_update(): 用于保留集合中非共同元素,刪除共同元素。
  • union(): 用于返回兩個(gè)集合的并集。
  • update(): 用于將一個(gè)集合中的元素添加到另一個(gè)集合中。

這些方法都可以通過(guò)在集合對(duì)象上調(diào)用方法名稱并提供必要的參數(shù)來(lái)使用。例如,使用add()方法將單個(gè)元素添加到集合中,使用update()方法將一個(gè)集合中的元素添加到另一個(gè)集合中。

到此這篇關(guān)于Python中set方法的使用教程詳解的文章就介紹到這了,更多相關(guān)Python set方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3自定義http/https請(qǐng)求攔截mitmproxy腳本實(shí)例

    Python3自定義http/https請(qǐng)求攔截mitmproxy腳本實(shí)例

    這篇文章主要介紹了Python3自定義http/https請(qǐng)求攔截mitmproxy腳本實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python3爬蟲關(guān)于識(shí)別點(diǎn)觸點(diǎn)選驗(yàn)證碼的實(shí)例講解

    Python3爬蟲關(guān)于識(shí)別點(diǎn)觸點(diǎn)選驗(yàn)證碼的實(shí)例講解

    在本篇文章里小編給大家整理了關(guān)于Python3爬蟲關(guān)于識(shí)別點(diǎn)觸點(diǎn)選驗(yàn)證碼的實(shí)例講解內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • 基于Python編寫一個(gè)語(yǔ)音合成系統(tǒng)

    基于Python編寫一個(gè)語(yǔ)音合成系統(tǒng)

    這篇文章主要介紹了如何利用Python制作一個(gè)語(yǔ)音合成系統(tǒng),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的小伙伴可以了解一下
    2022-03-03
  • python實(shí)現(xiàn)微信接口(itchat)詳細(xì)介紹

    python實(shí)現(xiàn)微信接口(itchat)詳細(xì)介紹

    這篇文章主要介紹了python實(shí)現(xiàn)微信接口(itchat)詳細(xì)介紹,小編覺得挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • 基于Python實(shí)現(xiàn)主機(jī)遠(yuǎn)程控制

    基于Python實(shí)現(xiàn)主機(jī)遠(yuǎn)程控制

    這篇文章主要介紹了基于Python實(shí)現(xiàn)主機(jī)遠(yuǎn)程控制,本文為?HITwh?網(wǎng)絡(luò)空間安全專業(yè)網(wǎng)絡(luò)空間安全設(shè)計(jì)與實(shí)踐選題,主要實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控局域網(wǎng)內(nèi)的主機(jī)桌面與網(wǎng)絡(luò)情況、簡(jiǎn)單鍵鼠控制、遠(yuǎn)程斷網(wǎng)(ARP?攻擊)、數(shù)據(jù)加密傳輸?shù)裙δ埽旅鎭?lái)看看具體實(shí)現(xiàn)過(guò)程吧
    2022-01-01
  • TensorFlow如何指定GPU訓(xùn)練模型

    TensorFlow如何指定GPU訓(xùn)練模型

    這篇文章主要介紹了TensorFlow如何指定GPU訓(xùn)練模型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口

    Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口

    這篇文章主要介紹了Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • pytest?fixtures函數(shù)及測(cè)試函數(shù)的參數(shù)化解讀

    pytest?fixtures函數(shù)及測(cè)試函數(shù)的參數(shù)化解讀

    這篇文章主要介紹了pytest?fixtures函數(shù)及測(cè)試函數(shù)的參數(shù)化解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python上下文管理器實(shí)現(xiàn)方法總結(jié)

    Python上下文管理器實(shí)現(xiàn)方法總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于Python上下文管理器實(shí)現(xiàn)方法總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-07-07
  • 一文搞懂Python讀取text,CSV,JSON文件的方法

    一文搞懂Python讀取text,CSV,JSON文件的方法

    文件處理是一種用于創(chuàng)建文件、寫入數(shù)據(jù)和從中讀取數(shù)據(jù)的過(guò)程,Python 擁有豐富的用于處理不同文件類型的包,從而使得我們可以更加輕松方便的完成文件處理的工作,本文將來(lái)為大家詳細(xì)講講
    2022-06-06

最新評(píng)論

甘德县| 蒲城县| 永川市| 穆棱市| 祥云县| 南投市| 武城县| 阜新| 松潘县| 阳高县| 沅陵县| 互助| 永登县| 宜兴市| 盐城市| 阜阳市| 揭西县| 海南省| 华宁县| 定边县| 沙田区| 太谷县| 定西市| 芷江| 岳阳市| 漯河市| 洞头县| 尼玛县| 日土县| 东兴市| 沙雅县| 晋州市| 贵阳市| 台东县| 彭州市| 南昌县| 西充县| 高碑店市| 沅江市| 桂林市| 孟津县|