0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python集合表達(dá)式及方法

jf_78858299 ? 來源:梯閱線條 ? 作者:小梯子 ? 2023-03-10 10:06 ? 次閱讀

python數(shù)字的集合(set)類型,是無序集合,集合中的元素(項(xiàng))不會(huì)重復(fù),不管添加多少個(gè)相同元素(項(xiàng)),只會(huì)保存1次。

python集合是可迭代對象。

1.1 set()和{}

用法

set() -> new empty set object
set(iterable) -> new set object
{元素項(xiàng)}

描述

python的set()函數(shù)用于創(chuàng)建集合對象。

入?yún)?/strong>

set()不送入?yún)?,?chuàng)建空集合。

iterable:送迭代對象,比如字符串、元組等。創(chuàng)建非空集合。

表達(dá)式{元素項(xiàng)},創(chuàng)建非空集合。

注意

集合元素?zé)o序,且唯一。

無序:生成的集合后的元素順序與定義集合時(shí)的順序不一致。

唯一:多次添加重復(fù)的元素,只會(huì)保留一次。

示例

>>> n=set();x=set('梯閱線條');y=set('梯閱線條軟件測試開發(fā)');z={'梯','閱','線條'}
>>> n
set()
>>> x
{'梯', '閱', '線', '條'}
>>> y
{'件', '軟', '發(fā)', '梯', '閱', '試', '條', '線', '開', '測'}
>>> z
{'梯', '閱', '線條'}
#集合元素重復(fù)添加,只保存一次
>>> u=set('梯閱線條梯閱線條python集合')
>>> u
{'t', 'h', '梯', '閱', 'p', '合', '條', 'o', '線', 'n', 'y', '集'}

1.2 集合表達(dá)式

序號(hào) 表達(dá)式 描述
1 ‘s’ in set 判斷元素是否屬于集合?!畇’在集合set里返回True,否則返回False
2 xy,x>=y,x==y,x!=y 集合子集和超集值相等性操作符
3 x y
4 x ^ y 集合對稱差,取屬于集合x且不屬于集合y,或?qū)儆诩蟳且不屬于集合x的元素。即集合交集以外的元素。
5 x & y,x.intersection(y) 集合交集,取集合x和集合y都有的元素
7 x – y 集合差集,取在集合x,不在集合y的元素

示例

>>> s1=set('123')
>>> s2=set('345')
>>> s1
{'3', '2', '1'}
>>> s2
{'5', '3', '4'}
>>> s1^s2
{'2', '5', '1', '4'}
>>> s1&s2
{'3'}
>>> s1|s2
{'5', '3', '1', '2', '4'}
>>> s1-s2
{'2', '1'}
>>> 1 in s1
False
>>> '1' in s1
True
>>> s1 < s2
False
>>> s1 > s2
False
>>> s1 != s2
True

1.3 集合方法

1.3.1 intersection()

用法

x.intersection(y)

描述

python集合intersection()方法,用于求集合交集。

x.intersection(y),集合x與集合y的交集,對應(yīng)表達(dá)式x&y。

入?yún)?/strong>

y:集合

出參

返回交集集合

示例

>>> s1=set('123')
>>> s2=set('345')
>>> s1
{'3', '2', '1'}
>>> s2
{'5', '3', '4'}
>>> s1.intersection(s2)
{'3'}

1.3.2 add()

用法

x.add(e)

描述

python集合add()方法,向集合添加元素。

x.add(e),向集合x添加元素e,如果存在則不變,否則新增。

入?yún)?/strong>

e:集合元素。

出參

改變原始集合。

示例

>>> s1
{'3', '2', '1'}
>>> s1.add('6')
>>> s1
{'6', '3', '2', '1'}

1.3.3 update()

用法

x.update(set)

描述

python集合update()方法,向集合添加集合或元素。

x.update(set) ,向集合x添加集合set,或者添加元素。

入?yún)?/strong>

set:集合或元素。

出參

改變原始集合。

示例

>>> s1
{'6', '3', '2', '1'}
>>> s1.update(set('127'))
>>> s1
{'7', '6', '3', '1', '2'}

1.3.4 remove()

用法

x.remove(e)

描述

python集合remove()方法,從集合刪除指定元素。

x.remove(e),從集合x刪除元素e。如果元素e不存在,則報(bào)錯(cuò)。

入?yún)?/strong>

e:要?jiǎng)h除的元素

出參

改變原始集合。

示例

>>> s1
{'7', '6', '3', '1', '2'}
>>> s1.remove('7')
>>> s1
{'6', '3', '1', '2'}
>>> s1.remove('7')
Traceback (most recent call last):
 File ", line 1, in

1.3.5 discard()

用法

x.discard(e)

描述

python集合discard()方法,從集合刪除指定元素。

x.discard(e),從集合x刪除元素e。如果元素e不存在,不會(huì)報(bào)錯(cuò)。

入?yún)?/strong>

e:要?jiǎng)h除的元素

出參

改變原始集合。

示例

>>> s1
{'6', '3', '1', '2'}
>>> s1.discard('6')
>>> s1
{'3', '1', '2'}
>>> s1.discard('6')
>>> s1
{'3', '1', '2'}

1.3.6 union()

用法

s1.union(s2)

描述

python集合union()方法,用于求集合的并集。

s1.union(s2),求集合s1和s2的并集。對應(yīng)表達(dá)式s1|s2

入?yún)?/strong>

s2:集合

出參

返回新的集合

示例

>>> s1
{'3', '1', '2'}
>>> s2
{'5', '3', '4'}
>>> s1.union(s2)
{'5', '3', '1', '2', '4'}

1.3.7 issubset()

用法

s1.issubset(s2)

描述

pythhon集合issubset()方法,用于判斷集合關(guān)系。

s1.issubset(s2),s1是s2的子集(s1的全部元素都在s2集合),則返回True,否則返回False。

入?yún)?/strong>

s2:父集合

出參

s1是s2的子集,返回True,否則返回False。

示例

>>> s1
{'3', '1', '2'}
>>> s2
{'2', '5', '3', '1', '4'}
>>> s1.issubset(s2)
True
>>> s2.issubset(s1)
False

1.4 集合不可變和凍結(jié)集合

python集合的元素只能是不可變對象,比如數(shù)字、字符串、元組等,不能為列表、字典、集合等。如果集合要嵌入集合,則要用frozenset方法。

示例

>>> s1
{'3', '1', '2'}
>>> s1.add(5)
>>> s1
{'3', 5, '1', '2'}
>>> s1.add([6,7])
Traceback (most recent call last):
 File ", line 1, in

1.5 集合解析

集合解析和列表解析類似,只需將循環(huán)表達(dá)式寫在集合大括號(hào){}里面。

示例

>>> {c*2 for c in '梯閱線條'}
{'線線', '梯梯', '條條', '閱閱'}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1916

    瀏覽量

    34378
  • 集合
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    8089
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84077
收藏 人收藏

    評論

    相關(guān)推薦

    什么是正則表達(dá)式?正則表達(dá)式如何工作?哪些語法規(guī)則適用正則表達(dá)式?

    正則表達(dá)式又稱規(guī)則表達(dá)式(Regular Expression,在代碼中常簡寫為 regex、regexp 或 RE),是一種用于匹配、查找、替換文本的強(qiáng)大工具。它能夠以特定的模式匹配字符串,從而
    的頭像 發(fā)表于 11-03 14:41 ?1757次閱讀
    什么是正則<b class='flag-5'>表達(dá)式</b>?正則<b class='flag-5'>表達(dá)式</b>如何工作?哪些語法規(guī)則適用正則<b class='flag-5'>表達(dá)式</b>?

    Python談yield表達(dá)式及其批量獲得minibatches的應(yīng)用

    Python 小談 yield 表達(dá)式及其批量獲得 minibatches 的應(yīng)用
    發(fā)表于 05-21 08:20

    初識(shí) Python 正則表達(dá)式

    正則表達(dá)式是一個(gè)特殊的字符序列,用于判斷一個(gè)字符串是否與我們所設(shè)定的字符序列是否匹配,也就是說檢查一個(gè)字符串是否與某種模式匹配。Python 自 1.5 版本起增加了re 模塊,它提供 Perl
    發(fā)表于 03-17 16:44

    防范表達(dá)式的失控

    在C 語言中,表達(dá)式是最重要的組成部分之一,幾乎所有的代碼都由表達(dá)式構(gòu)成。表達(dá)式的使用如此廣泛,讀者也許會(huì)產(chǎn)生這樣的疑問,像+ 、- 、3 、/ 、& & 這樣簡單的運(yùn)算也會(huì)出現(xiàn)
    發(fā)表于 04-22 16:57 ?13次下載

    Python正則表達(dá)式教程之標(biāo)準(zhǔn)庫的完整介紹及使用示例說明

    本文介紹了Python對于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫
    發(fā)表于 01-23 16:00 ?3次下載
    <b class='flag-5'>Python</b>正則<b class='flag-5'>表達(dá)式</b>教程之標(biāo)準(zhǔn)庫的完整介紹及使用示例說明

    Python正則表達(dá)式的學(xué)習(xí)指南

    本文介紹了Python對于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫
    發(fā)表于 09-15 08:00 ?0次下載
    <b class='flag-5'>Python</b>正則<b class='flag-5'>表達(dá)式</b>的學(xué)習(xí)指南

    Python正則表達(dá)式指南

    本文介紹了Python對于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫
    發(fā)表于 03-26 09:13 ?10次下載
    <b class='flag-5'>Python</b>正則<b class='flag-5'>表達(dá)式</b>指南

    基于運(yùn)算符信息的數(shù)學(xué)表達(dá)式檢索技術(shù)

    信息,從而得到公式骨架存儲(chǔ)結(jié)構(gòu)。在此基礎(chǔ)上,選擇運(yùn)算符值為1的節(jié)點(diǎn)及其相關(guān)文檔建立索引,并通過數(shù)學(xué)表達(dá)式匹配算法得到與輸入相似的表達(dá)式集合。實(shí)驗(yàn)結(jié)果表明,該方法能夠從519588個(gè)數(shù)學(xué)
    發(fā)表于 04-29 15:58 ?2次下載
    基于運(yùn)算符信息的數(shù)學(xué)<b class='flag-5'>表達(dá)式</b>檢索技術(shù)

    初識(shí) Python 正則表達(dá)式

    正則表達(dá)式是一個(gè)特殊的字符序列,用于判斷一個(gè)字符串是否與我們所設(shè)定的字符序列是否匹配,也就是說檢查一個(gè)字符串是否與某種模式匹配。 Python 自 1.5 版本起增加了re 模塊,它提供 Perl
    的頭像 發(fā)表于 03-17 16:44 ?1334次閱讀

    python正則表達(dá)式中的常用函數(shù)

    編譯正則表達(dá)式模式,返回一個(gè)正則對象的模式。(可以把那些常用的正則表達(dá)式編譯成正則表達(dá)式對象,這樣可以提高一點(diǎn)效率。)
    的頭像 發(fā)表于 03-18 16:12 ?1700次閱讀

    Lambda表達(dá)式詳解

    C++11中的Lambda表達(dá)式用于 **定義并創(chuàng)建匿名的函數(shù)對象** ,以簡化編程工作。下面看一下Lambda表達(dá)式的基本構(gòu)成。
    的頭像 發(fā)表于 02-09 11:28 ?1032次閱讀

    表達(dá)式與邏輯門之間的關(guān)系

    邏輯表達(dá)式是指表示一個(gè)表示邏輯運(yùn)算關(guān)系的式子,是一個(gè)抽象的類似數(shù)學(xué)表達(dá)式,下面我們重點(diǎn)說明下其表達(dá)式與邏輯門之間的關(guān)系。
    的頭像 發(fā)表于 02-15 14:54 ?1417次閱讀
    <b class='flag-5'>表達(dá)式</b>與邏輯門之間的關(guān)系

    C語言的表達(dá)式

    在C語言中,表達(dá)式是由操作符和操作數(shù)組成。表達(dá)式可以由一個(gè)或者多個(gè)操作數(shù)組成,不同的操作符與操作數(shù)組成不同的表達(dá)式,因此,表達(dá)式才是C語言的基本。
    的頭像 發(fā)表于 02-21 15:09 ?1170次閱讀
    C語言的<b class='flag-5'>表達(dá)式</b>

    Python中的Lambda表達(dá)式

    Python 中,Lambda 表達(dá)式是一種非常強(qiáng)大的工具,它可以讓你快速創(chuàng)建小型匿名函數(shù),而不需要顯式地定義函數(shù)名稱。Lambda 表達(dá)式通常用于傳遞函數(shù)對象或簡單的函數(shù)式編程。
    的頭像 發(fā)表于 04-19 15:49 ?711次閱讀

    Python中的正則表達(dá)式

    哈嘍大家好,我是了不起,今天給大家講Python中的正則表達(dá)式Python中,正則表達(dá)式是一種強(qiáng)大的文本處理工具,它可以用來匹配、搜索、替換文本。正則
    的頭像 發(fā)表于 06-21 16:52 ?867次閱讀