Python集合,你學會了嗎?
Python之集合(set)
- 集合(set)是一個無序的不重復元素序列,
- 可以使用大括號 { } 或者 set() 函式創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典,
定義集合
{}定義集合
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" # 重復的元素,列印結果中只會顯一個 fruit = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} # 列印結果 {'pear', 'orange', 'apple', 'banana'}
使用set函式創建集合
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" fruit = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana'] new_set = set(fruit) # 重復的元素,列印結果中只會顯一個 print(new_set) # 結果 {'banana', 'apple', 'orange', 'pear'}
集合運算
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" a = set('abracadabra') # {'r', 'a', 'd', 'c', 'b'} b = set('alacazam') # {'m', 'a', 'z', 'c', 'l'} # a包含b不包含的元素 c = a - b print(c) # 結果 {'b', 'r', 'd'} # 集合a或b中包含的所有元素 c = a | b print(c) # 結果 {'m', 'a', 'r', 'l', 'd', 'z', 'b', 'c'} # 集合a和b中都包含了的元素 c = a & b print(c) # 結果 {'c', 'a'} # 不同時包含于a和b的元素 c = a ^ b print(c) # 結果 {'r', 'm', 'z', 'b', 'd', 'l'}
集合的基本操作
添加元素(add/update)
- 如果添加元素如果存在,則不進行任何操作
- 可添加元素,也可以串列、元組、字典等
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" num = {1, 2, 3} num.add(4) print(num) # 結果 {1, 2, 3, 4}
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" # 如果添加為串列等,則要用update方法 num = {1, 2, 3} list = [4, 5] num.update(list) print(num) # 結果 {1, 2, 3, 4, 5}
移除元素(remove/pop)
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" num = {1, 2, 3} num.remove(1) print(num) # 結果 {2, 3}
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" # 隨機洗掉集合中的元素 num = {1, 2, 3} num.pop() print(num) # 結果 {2, 3}
計算集合元素個數
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" num = {1, 2, 3} print(len(num)) # 結果 3
清空集合
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" num ={1, 2, 3} num.clear() print(num) # 結果 set()
判斷元素是否在集合中存在
判斷元素 x 是否在集合中,存在回傳 True,不存在回傳 False
# -*- coding:utf-8 -*- # @Time : 2020/10/8 9:59 # @File :day1.py # @Author: "程式員一凡" num ={1, 2, 3} if 1 in num: print("存在集合中")
集合內置方法完整列
| 方法 | 描述 |
|---|---|
| add() | 為集合添加元素 |
| clear() | 移除集合中的所有元素 |
| copy() | 拷貝一個集合 |
| difference() | 回傳多個集合的差集 |
| difference_update() | 移除集合中的元素,該元素在指定的集合也存在, |
| discard() | 洗掉集合中指定的元素 |
| intersection() | 回傳集合的交集 |
| intersection_update() | 回傳集合的交集, |
| isdisjoint() | 判斷兩個集合是否包含相同的元素,如果沒有回傳 True,否則回傳 False, |
| issubset() | 判斷指定集合是否為該方法引數集合的子集, |
| issuperset() | 判斷該方法的引數集合是否為指定集合的子集 |
| pop() | 隨機移除元素 |
| remove() | 移除指定元素 |
| symmetric_difference() | 回傳兩個集合中不重復的元素集合, |
| symmetric_difference_update() | 移除當前集合中在另外一個指定集合相同的元素,并將另外一個指定集合中不同的元素插入到當前集合中, |
| union() | 回傳兩個集合的并集 |
| update() | 給集合添加元素 |
有人喜歡創造世界,他們做了開發者;有的人喜歡開發者,他們做了測驗員,什么是軟體測驗?軟體測驗就是一場本該在用戶面前發生的災難提前在自己面前發生了,這會讓他們生出一種救世主的感覺,拯救了用戶,也就拯救者這個軟體,避免了他們被卸載的命運,
微信搜一搜【程式員一凡】關注這個文縐縐的程式員,關注后回復【面試】有我準備的一線大廠面試資料和簡歷模板,希望大家都能找到心儀的作業,學習是一條時而郁郁寡歡,時而開懷大笑的路,加油,如果你通過努力成功進入到了心儀的公司,一定不要懈怠放松,職場成長和新技術學習一樣,不進則退,如果有幸我們江湖再見!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/211012.html
標籤:其他
