Python入門(九):集合
- 集合型別與數學中集合的概念一致,即包含0個或多個資料項的無序組合
- 集合中元素不可重複
- 集合元素型別只能是固定資料型別
- 例如:整數、浮點數、字串、元組等
- 列表、字典和集合型別本身都是可變資料型別,不能作為集合的元素出現
- 集合是無序組合,沒有索引和位置的概念,不能切片
- 集合中元素可以動態增加或刪除
- 集合用大括號{}表示,可以用賦值語句生成一個集合
- 集合型別主要用於三個場景:成員關係測試、元素去重和刪除資料項
- 集合型別與其他型別最大的不同在於它不包含重複元素。因此,當需要對一維資料進行去重或進行資料重複處理時,一般通過集合來完成
1. 集合的分類
- 可變集合(set)
- {}:生成的是空字典
- set()將資料結構轉換為可變集合型別
- 不可變集合(frozenset)
- frozenset()將資料結構轉換為不可變集合型別
2. 集合基本操作
-
集合型別的4種基本操作,操作邏輯與數學定義相同
- 交集(&)
- 並集(|)
- 差集(-)
- 補集(^)
-
集合型別6個操作符
操作 功能說明 S-=T 更新集合S,包括在集合S中但不在集合T中的元素 S&=T 更新集合S,包括同時在集合S和T中的元素 S^=T 更新集合S,包括S和T中的元素,但不包括同時在其中的元素 S|=T 更新集合S,包括集合S和T中的所有元素 S<=T 如果S<=T,返回True,否則返回False S>=T 如果S>=T,返回True,否則返回False -
集合型別的10個操作函式
操作 功能說明 set_name.add(x) 如果資料項x不在集合中,則將x增加到集合中 set_name.pop() 返回集合中的第一個元素,並且刪除該元素 set_name.clear() 刪除集合中的所有元素 set_name.discard(x) 如果x在集合中,則移除該元素;如果x不在,不報錯 set_name.remove(x) 如果x在集合中,則移除該元素;如果不在,則報錯 x in S 如果x在S中,返回True,否則返回False x not in S 如果x不在S中,返回True,否則返回False S.copy() 返回集合S的一個拷貝 len(S) 返回集合S元素個數 S.isdisjoint(T) 如果集合S與T沒有相同元素,返回True
相關文章
- Redis 入門指南九:Redis 有序集合(sorted set)Redis
- Animation集合(入門)
- Python 爬蟲從入門到進階之路(九)Python爬蟲
- Java 集合類入門篇Java
- 集合與函式入門函式
- Redis 入門 - 3(集合 set、有序集合 sort set)Redis
- Isito 入門(九):安全認證
- vc入門寶典(九) (轉)
- mybatis入門基礎(九)----逆向工程MyBatis
- 九州--中國史學入門
- gRPC入門學習之旅(九)RPC
- MySQL小白入門04 - 集合運算MySql
- React 從入門到進階之路(九)React
- Python函式每日一講 - frozenset集合函式入門及例項Python函式
- Java入門教程十二(集合與泛型)Java泛型
- Java入門學習-深入理解集合Java
- Python入門Python
- Python列表、元組、集合、字典的區別是什麼?入門知識!Python
- Flask框架從入門到精通之Session(九)Flask框架Session
- [雲原生微服務架構](九)入門HELM微服務架構
- MVC5+EF6 入門完整教程九MVC
- Java集合原始碼分析(九)——HashSetJava原始碼
- 帶你入門 JavaScript ES6 (五) 集合JavaScript
- Python 入門學習 -----變數及基礎型別(元組,列表,字典,集合)Python變數型別
- Python入門(案例)Python
- Python快速入門Python
- 【python】git入門PythonGit
- Python(1):入門Python
- python 入門教程Python
- Java入門教程九(封裝繼承多型)Java封裝繼承多型
- k8s入門之ConfigMap(九)K8S
- 小豬的C語言快速入門系列(九)C語言
- 九個問題從入門到熟悉HTTPSHTTP
- [WebGL入門]九,頂點快取的基礎Web快取
- Python入門難嗎?如何順利入門Python學習?Python
- C#快速入門教程(22)—— 常用集合型別C#型別
- rust學習九.1、集合之向量Rust
- rust學習九.2、集合之字元Rust字元