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
- Python 爬蟲從入門到進階之路(九)Python爬蟲
- Java 集合類入門篇Java
- 集合與函式入門函式
- Isito 入門(九):安全認證
- gRPC入門學習之旅(九)RPC
- Python函式每日一講 - frozenset集合函式入門及例項Python函式
- MySQL小白入門04 - 集合運算MySql
- Python入門Python
- Python列表、元組、集合、字典的區別是什麼?入門知識!Python
- React 從入門到進階之路(九)React
- k8s入門之ConfigMap(九)K8S
- Java入門教程十二(集合與泛型)Java泛型
- Python gRPC 入門PythonRPC
- Python入門(案例)Python
- Python快速入門Python
- Python入門難嗎?如何順利入門Python學習?Python
- Flask框架從入門到精通之Session(九)Flask框架Session
- [雲原生微服務架構](九)入門HELM微服務架構
- Java集合原始碼分析(九)——HashSetJava原始碼
- Python入門必知的知識點!Python基礎入門Python
- 『python入門:』 python的介紹Python
- Python入門細節Python
- Python入門-函式Python函式
- Python 股票分析入門Python
- 說下Python入門Python
- Python入門筆記Python筆記
- Python入門之一Python
- python 入門常識Python
- python入門導學Python
- Python 入門筆記Python筆記
- 如何快速入門PythonPython
- Python爬蟲入門Python爬蟲
- Java入門教程九(封裝繼承多型)Java封裝繼承多型
- C#快速入門教程(22)—— 常用集合型別C#型別
- [Python入門]:Python簡單例項100個(入門完整版)Python入門看這個一套搞定!!Python單例
- RedisTemplate常用集合使用說明-boundSetOps(九)Redis
- rust學習九.1、集合之向量Rust