日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python set集合 - Python零基础入门教程

發布時間:2024/9/27 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python set集合 - Python零基础入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一.set 集合簡介
  • 二.set 集合常用函數
  • 三.set 集合運算符
  • 四.猜你喜歡

零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門

在 Python 變量中除了以前文章所提到的整形 int / 浮點數 float / 布爾值 bool / 列表 list / 字典 dict 之外,還有一個類型我們還沒有做詳細介紹,這個變量類型就是集合 set。

一.set 集合簡介

Python set 集合使用大括號 { } 表示,與字典 dict 不同的是 set 集合并沒有 key / value 鍵值對,主要有以下兩個特點:

  • 1.元素不允許重復;
  • 2.set 不記錄元素的添加順序,即是無序的,和字典類似;
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python set集合.py @Time:2021/04/04 11:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 創建一個空集合set set_a = set() # 打印集合set print(set_a) # 查看類型 print(type(set_a)) print("***"*20)# 創建一個集合 set_b = {"猿說python",False} print(type(set_b)) print(set_b) print("***"*20)# 創建一個字典 dict_b = {"name":"猿說python","url":"www.codersrc.com"} print(type(dict_b)) print(dict_b)''' 輸出結果:set() <class 'set'> ************************************************************ <class 'set'> {False, '猿說python'} ************************************************************ <class 'dict'> {'name': '猿說python', 'url': 'www.codersrc.com'} '''

代碼分析:觀察上面代碼,雖然字典 dict 和 集合 set 都是由 {} 構成,注意字典由鍵值對 key / value 構成,而集合確是由一個一個數據構成,和列表 list 的元素類似!

二.set 集合常用函數

  • add — 向 set 集合中添加元素;
  • remove — 刪除元素,如果集合中不包含被刪除的元素,remove() 方法會報出 KeyError 異常;
  • discard — 刪除元素,如果集合中不包含被刪除的元素,不會有任何提示或者 異常;
  • clear — 就是清空白 set 集合;
  • copy — 拷貝一個集合;
  • difference— 返回多個集合的差集;
  • difference_update — 移除集合中的元素,該元素在指定的集合也存在;
  • intersection — 返回集合的交集,不改變集合本身,而是返回兩個集合的交集;
  • intersection_update — 返回集合的交集,會通過交集運算改變第一個集合;
  • isdisjoint — 判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False;
  • issubset — 判斷指定集合是否為該方法參數集合的子集;
  • issuperset — 判斷該方法的參數集合是否為指定集合的子集;
  • pop — 隨機移除元素;
  • symmetric_difference — 移除當前集合中在另外一個指定集合相同的元素,并將另外一個指定集合中不同的元素插入到當前集合中;
  • union — 返回兩個集合的并集;
  • update — 用于修改當前集合,可以添加新的元素或集合到當前集合中,如果添加的元素在集合中已存在,則該元素只會出現一次,重復的會忽略;
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python set集合.py @Time:2021/04/04 11:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 使用花括號構建set集合 c = {'喬峰',"段譽","虛竹","天龍八部","射雕英雄傳"} # 添加元素 c.add("天山姥姥") c.add(6) print("c集合的元素個數為:" , len(c)) print(c) # 刪除指定元素 c.remove("天山姥姥") print(c) print("c集合的元素個數為:" , len(c)) print("***"*20)# 判斷是否包含指定字符串 print("c集合是否包含'喬峰'字符串:" , ("喬峰" in c)) # 輸出True print("***"*20)# 使用set()函數(構造器)來創建set集合 movies = set() movies.add("天龍八部") movies.add("射雕英雄傳") print("movies集合的元素:" , movies) # issubset()方法判斷是否為子集合 print("movies集合是否為c的子集合?", movies.issubset(c)) # 輸出False# issuperset()方法判斷是否為父集合 # issubset和issuperset其實就是倒過來判斷 print("c集合是否完全包含books集合?", c.issuperset(movies)) # 輸出False # 用c集合減去books集合里的元素,不改變c集合本身 result1 = c - movies print(result1)# difference()方法也是對集合做減法,與用-執行運算的效果完全一樣 result2 = c.difference(movies) print(result2)# 用c集合減去books集合里的元素,改變c集合本身 c.difference_update(movies) print("c集合的元素:" , c)# 刪除c集合里的所有元素 c.clear() print("c集合的元素:" , c) print("***"*20)# 直接創建包含元素的集合 d = {"python面向對象", 'python基礎', 'python爬蟲'} print("d集合的元素:" , d)# intersection()方法也是獲取兩個集合的交集,與用&執行運算的效果完全一樣 inter2 = d.intersection(movies) print(inter2) # 計算兩個集合的交集,改變d集合本身 d.intersection_update(movies) print("d集合的元素:" , d) print("***"*20)# 將range對象包裝成set集合 e = set(range(5)) f = set(range(3, 7)) print("e集合的元素:" , e) print("f集合的元素:" , f)# 計算兩個集合的并集,不改變e集合本身 un = e.union(f) print('e和f執行并集的結果:', un) # 計算兩個集合的并集,改變e集合本身 e.update(f) print('e集合的元素:', e)''' 輸出結果:c集合的元素個數為: 7 {'天龍八部', 6, '虛竹', '喬峰', '段譽', '天山姥姥', '射雕英雄傳'} {'天龍八部', 6, '虛竹', '喬峰', '段譽', '射雕英雄傳'} c集合的元素個數為: 6 ************************************************************ c集合是否包含'喬峰'字符串: True ************************************************************ movies集合的元素: {'天龍八部', '射雕英雄傳'} movies集合是否為c的子集合? True c集合是否完全包含books集合? True {'喬峰', '段譽', 6, '虛竹'} {'喬峰', '段譽', 6, '虛竹'} c集合的元素: {6, '虛竹', '喬峰', '段譽'} c集合的元素: set() ************************************************************ d集合的元素: {'python爬蟲', 'python基礎', 'python面向對象'} set() d集合的元素: set() ************************************************************ e集合的元素: {0, 1, 2, 3, 4} f集合的元素: {3, 4, 5, 6} e和f執行并集的結果: {0, 1, 2, 3, 4, 5, 6} e集合的元素: {0, 1, 2, 3, 4, 5, 6} '''

三.set 集合運算符

  • <=:相當于調用 issubset() 方法,判斷前面的 set 集合是否為后面的 set 集合的子集合。
  • >=:相當于調用 issuperset() 方法,判斷前面的 set 集合是否為后面的 set 集合的父集合。
  • :相當于調用 difference() 方法,用前面的 set 集合減去后面的 set 集合的元素。
  • &:相當于調用 intersection() 方法,用于獲取兩個 set 集舍的交集。
  • ^:計算兩個集合異或的結果,就是用兩個集合的并集減去交集的元素。
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python set集合.py @Time:2021/04/04 11:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 使用花括號構建set集合 c = {'喬峰',"段譽","虛竹","天龍八部","射雕英雄傳"}# 使用set()函數(構造器)來創建set集合 movies = set() movies.add("天龍八部") movies.add("射雕英雄傳") print("movies集合的元素:" , movies) # issubset()方法與<=運算符效果相同 print("movies集合是否為c的子集合?", (movies <= c)) # 輸出False print("***"*20)e = set(range(5)) f = set(range(3, 7)) print("e集合的元素:" , e) print("f集合的元素:" , f) # 對兩個集合執行異或運算 xor = e ^ f print('e和f執行xor的結果:', xor)# 直接創建包含元素的集合 d = {"python面向對象", 'python基礎', 'python爬蟲'} print("d集合的元素:" , d) # 計算兩個集合的交集,不改變d集合本身 inter1 = d & movies print(inter1)''' 輸出結果:movies集合的元素: {'天龍八部', '射雕英雄傳'} movies集合是否為c的子集合? True ************************************************************ e集合的元素: {0, 1, 2, 3, 4} f集合的元素: {3, 4, 5, 6} e和f執行xor的結果: {0, 1, 2, 5, 6} d集合的元素: {'python基礎', 'python面向對象', 'python爬蟲'} set()'''

四.猜你喜歡

  • Python 字符串/列表/元組/字典之間的相互轉換
  • Python 局部變量和全局變量
  • Python type 函數和 isinstance 函數區別
  • Python is 和 == 區別
  • Python 可變數據類型和不可變數據類型
  • Python 淺拷貝和深拷貝
  • Python 遞歸函數
  • Python sys 模塊
  • Python 列表 list
  • Python 元組 tuple
  • Python 字典 dict
  • Python 條件推導式
  • Python 列表推導式
  • Python 字典推導式
  • Python 函數聲明和調用
  • Python 不定長參數 *argc/**kargcs
  • 未經允許不得轉載:猿說編程 ? Python set 集合

    總結

    以上是生活随笔為你收集整理的Python set集合 - Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。