python中集合的概念,python集合的元素可以是集合吗

  python中集合的概念,python集合的元素可以是集合吗

  python的用途:1。您可以使用该集合进行复制。方法是将列表添加到集合中,然后遍历它,最后打印出重复的结果。2.使用集合来测试关系,例如,差集和并集。

  一、什么是集合:

  集合是不重复元素的无序序列。

  重要提示:集合中的元素是不可重复的,并且集合中的元素是无序的。

  集合是一个可变的容器。

  集合中的所有数据对象都是唯一的(不能重复)。

  集合是可迭代对象。

  集合相当于一个只有键没有值的字典(键是集合中的数据)。

  集合中的元素可以设置不可变类型frozenset()

  当集合pop()被删除时,它类似于队列FIFO。

  也就是说,集合可以像元组一样设置为不可变类型;也可以默认迭代改变,像字典和列表;同时,集合中的元素可以是列表、元组和字典。

  二、为什么要使用集合

  set的特性决定了它简单、高效、快速。

  例如,当使用列表进行复制时:

  列表1=[1,2,3,4]

  列表2=[3,4,5,6]

  list3=[]

  列表1:

  ifiinlist2:

  list3.append(i)

  打印(列表3)利用集合去重:

  我的列表=[1,2,3,4,2,3,1,2,2]

  #转换为集合

  我的集合=集合(我的列表)

  打印(列表(我的集合))#结果

  [1,2,3,4]三、集合可以进行如下基本操作:

  1、 创建字典

  您可以使用花括号{}或set()函数来创建集合。注意:必须使用set()而不是{}来创建空集,因为{}用于创建空字典。

  my_set=set((苹果,))

  我的集合

  { 苹果 }2、添加元素(add(),update())

  #add作为一个整体添加到集合中

  my_set=set()

  my_set.add(abc )

  打印(我的集合)

  #update是把要传入的元素拆分出来,作为个体传入集合。

  my_set=set()

  my_set.update(abc )

  打印(我的设置)3、删除元素(remove(),pop(),discard())

  #remove如果收藏物种存在,直接删除;否则,程序会报告一个错误格式:集合名称。移除(元素)

  my_set={11,13,15}

  my_set.remove(

  13)

  print(my_set)my_set.remove(131)

  print(my_set)

  #pop随机删除集合中的元素如果集合中没有元素则程序报错

  my_set={11,13,15}

  my_set.pop()

  print(my_set)

  #discard如果集合中元素存在,直接删除;如果元素不存在不做任何操作格式:集合名.discard(元素)

  my_set={11,13,15}

  my_set.discard(13)

  print(my_set)

  my_set.discard(131)

  print(my_set)4、交集( & )

  

set1={9,2,3,4}

  set2={3,4,5,16}

  new_set=set1&set2

  print(new_set)

  #result{3,4}

5、 并集( )

  

set1={1,2,3,4}

  set2={3,5,5,6}

  new_set=set1set2

  print(new_set)

  #result{1,2,3,4,5,6}

6、 差集(-)

  项在前一个集合中,但不在后一个集合中。

  

set1={1,2,3,4}

  set2={3,4,5,6}

  new_set=set1-set2

  print(new_set)

  #result{1,2}

7、对称差集( ^ )

  即项在前一个集合或后一个集合中,但不会同时出现在二者中。即交集减去并集。

  

set1={1,2,3,4}

  set2={3,4,5,6}

  new_set=set1^set2

  print(new_set)

  #result{1,2,5,6}

8、子集判断

  

set1={3,4}

  set2={3,4,5,6}

  #判断set1是否是set2的子集

  print(set1.issubset(set2))

  #resultTrue

9、父集判断

  

set1={3,4}

  set2={3,4,5,6}

  #判断set1是否是set2的父集

  print(set1.issuperset(set2))

  #resultFalse

10、迭代和枚举

  

s={34,56,76,34,56,54,43,23,56}

  foriins:

  print(i)##迭代输出其内容

  fori,vinenumerate(s):

  print('index:%s,value:%s'%(i,v))

  """

  result:

  index:0,value:34

  index:1,value:43

  index:2,value:76

  index:3,value:54

  index:4,value:23

  index:5,value:56

  """

可观察出,集合会自动过滤掉相同元素。

  

推荐课程:Python从零开始学编程(黑马程序员)

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: