ITPub博客

首页 > 应用开发 > Python >  集合

 集合

原创 Python 作者:20170405 时间:2020-08-27 15:14:04 0 删除 编辑

  集合

  1.1集合基础知识

  集合是无序可变序列,使用一对大括号作为界定符,元素之间使用逗号分隔,同一个集合的每个元素都是唯一的,元素之间不允许重复。

  在python中,直接将集合赋值给变量即可创建一个集合对象。

  >>> a={3,5}

  >>> a

  {3, 5}

  >>> type(a)

  也可以使用set()函数将列表、元组等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候保留一个。

  >>> a_set=set(range(8,14)) #把range对象转换为集合

  >>> a_set

  {8, 9, 10, 11, 12, 13}

  >>> b_set=set([0,1,2,3,0,1,2,3,7,8]) #转换时自动去掉重复元素

  >>> b_set

  {0, 1, 2, 3, 7, 8}

  注意:集合只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。

  1.2集合操作与运算

  1.集合元素增加与删除

  使用集合对象的add()方法可以为其增加新元素,如果该元素已存在与集合则忽略该操作;update()方法用于合并另外一个集合的元素到当前集合中。例如:

  >>> s={1,2,3}

  >>> s.add(3) #增加元素,重复元素自动忽略

  >>> s

  {1, 2, 3}

  >>> s.update({3,4}) #更新当前集合,自动忽略重复的元素

  >>> s

  {1, 2, 3, 4}

  集合对象的pop()方法用于随机删除并返回集合中的一个元素,如果集合为空则抛出异常;remove()方法用于删除集合中的元素,如果指定元素不存在则抛出异常;dicard()用于从集合中删除一个特定元素,如果元素不在集合中则忽略该操作;clear()方法清空集合删除所有元素。例如:

  >>> s.discard(5) #删除元素,不存在则忽略该操作

  >>> s

  {1, 2, 3, 4}

  >>> s.remove(5) #删除元素,不存在就抛出异常

  Traceback (most recent call last):

  File "", line 1, in

  s.remove(5)

  KeyError: 5

  >>> s.pop() #删除并返回一个元素

  2.集合运算

  Python集合支持交集、并集、差集等运算,例如:

  >>> a_set=set([8,9,10,11,12,13])

  >>> b_set={0,1,2,3,7,8}

  >>> a_set | b_set #并集

  {0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}

  >>> a_set&b_set #交集

  {8}

  >>> a_set-b_set #差集

  {9, 10, 11, 12, 13}

  >>> a_set^b_set #对称差集

  {0, 1, 2, 3, 7, 9, 10, 11, 12, 13}

  >>> x={1,2,3}

  >>> y={1,2,5}

  > >> z={1,2,3,4}  

  >>> x

  False

  >>> x

  True

  >>> y

  False

  >>> x.issubset(y) #测试是否为子集

  False

  >>> x.issubset(z)

  True

  注意:关系运算符>、>=、<、<=作用于集合时表示集合之间的包含关系,而不是集合中元素的大小关系。例如,两个集合A和B,如果AB就一定成立。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69979119/viewspace-2715183/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 重启python程序
请登录后发表评论 登录
全部评论

注册时间:2020-07-14

  • 博文量
    61
  • 访问量
    27126