zoukankan      html  css  js  c++  java
  • Python3 [集合]类型 学习笔记

    #Python集合学习笔记

    一、基本知识:

    1、集合(set):是一个 无序的、不重复的 元素序列。

    2、集合的创建:使用 { } 或者 set( )函数 创建集合。

    (1)创建 空集合:必须使用 set( )函数

    (2)创建 空集合,不能使用 { },{ } 是用来创建 空字典的。

    3、集合创建实例:

    (1)a={v1,v2,v3,...}

    (2)b=set(value)

    (3)推导式:a={x for x in 'abcdefgabcgfc' if x not in ‘abc’}

    4、集合的运算:集合a,集合b

    (1)【差集】a - b :返回包含在集合a 中的元素,但在集合b 中没有此元素。

    (101)差集的函数表示1:difference() 方法:用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。

      例:集合a,集合b,集合z:z=a.difference( b )

    (102)差集的函数表示2:difference_update()方法:用于移除两个集合中都存在的元素。

      例:集合a,集合b:a.difference_update( b )

    (103)difference()与defference_update()的区别: difference() 方法返回一个移除相同元素的新集合; difference_update() 方法是直接在原来的集合中移除元素,没有返回值。

    (2)【并集】a | b :返回包含在集合a 和集合b 中的所有元素。

    (201)并集的函数表示:union()方法:返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。

      union()方法语法:s1.union(s2 [,s3,...]) 

      例:集合a,集合b,集合z:z=a.union( b ) #合并两个集合,重复元素只会出现一次,返回一个新集合。

    (3)【交集】a & b:返回既在集合a 中,又在集合b中的元素。

    (301)交集的函数表示1:intersection()方法:用于返回两个或更多集合中都包含的元素,即交集。

      intersection()方法语法:s1.intersection(s2 [,s3,...]) 

      例:集合a,集合b,集合z:z=a.intersection( b )  #返回一个新集合

    (302)交集的函数表示2:intersection_update()方法:用于获取两个或更多集合中都重叠的元素,即计算交集。

      intersection_update()方法语法:s1.intersection_update(s2 [,s3,...])

      例:集合a,集合b:a.intersection_update( b ) #移除a 集合中不存在于b 集合中的元素。

    (303)intersection()与intersection_update()的区别: intersection() 方法是返回一个新的集合;intersection_update() 方法是在原始的集合上移除不重叠的元素。

    (4)【补集】a ^ b:返回不同时在集合a,和集合b 中的元素。(在集合a中,但集合b中没有,和在集合b中,但在集合a中没有的元素)

    (401)补集的函数表示法1:symmetric_difference():返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

      symmetric_difference()方法语法:s1.symmetric_difference(s2)

      例:集合a,集合b,集合z:z=a.symmetric_difference( b ) #返回两个集合组成的新集合,但会移除两个集合的重复元素。

    (402)补集的函数表示法2:symmetric_difference_update():移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

      symmetric_difference_update()方法语法:s1.symmetric_difference_update( s2 )

      例:集合a,集合b:a.symmetric_difference_update( b ) #在原始集合a  中移除与 b 集合中的重复元素,并将集合b 中不重复的元素插入到集合a 中。

    (5)判断两个集合元素包含情况

    (501)issuperset()函数方法:用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。

      issuperset()方法语法:s1.issuperset( s2 )

      例:集合a,集合b:z=a.issuperset( b ) #判断集合b 的所有元素是否都包含在集合a  中 。

    (502)issubset()函数方法:用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。

      issubset()方法语法:s1.issubset( s2 )

      例:集合a,集合b:z=a.issubset( b ) #判断集合 a 的所有元素是否都包含在集合 b 中。

    (503)issuperset()与issubset()的区别:其实使用一个就行,谁在谁中,只要哪个集合放在前,哪个集合放在后即可。

    (6)判断两个集合中是否有相同的元素:方法函数:isdisjoint() #返回布尔值,如果不包含返回 True,否则返回 False。

      例:集合a,集合b:z=a.isdisjoint( b ) #判断集合 b 中是否有元素在 集合 a 中。

    (7)集合的拷贝:s.copy():

      例:集合a,集合b:b=a.copy( ) 

    5、集合的基本操作:集合s

    (1)添加 元素1:s.add( x ):如果 x 已经在集合s 中,则不做任何操作。

    (2)添加 元素2:s.update( x ):参数可以是数组、列表、字典等;多个 x ,之间用逗号 (,)分隔。

    (3)移除 元素1:s.remove( x ):将元素 x 从集合s 中移除;如果 x 不存在,则会发生错误

    (4)移除 元素2:s.discard(x):将元素 x 从集合s 中移除;如果 x 不存在,则不会发生错误

    (5)删除 元素3:x = s.pop( ):随机删除元素,但会返回删除的元素。s.pop()删除元素原理:集合s 的pop() 函数会对集合s 的元素进行无序的排序,然后对无序排序后的集合最左边的元素删除。

    (6)集合元素个数:len( s ):返回集合s 的元素个数。

    (7)清空集合:s.clear():清空集合s。

    (8)判断元素x 是否在集合s 中:x in s:存在:返回True;不存在:返回False。

  • 相关阅读:
    camke 参数
    17.计算1-100之和+1-50的平方和+1-10的倒数
    16.求Sn=a+aa+aaa+aaaa.......之值
    15.计算1!+2!+3!+.....20!=?
    14.输出所有的“水仙花”
    13.企业发放的奖金根据利润提成
    12.输入一个成绩计算其A,B,C,D,E等级
    11.键盘输入小于1000的整数
    10.求方程的根
    2019考研历程回顾
  • 原文地址:https://www.cnblogs.com/xiangers/p/15488843.html
Copyright © 2011-2022 走看看