Python基础教程:set集合的教程

蔚落 2022-09-09 00:27 249阅读 0赞

一、集合类型

集合是一组无序排列的可哈希的值(可哈希的值->不可变),集合成员可以做字典中的键。但集合本身是不可哈希的。

集合是无序没有索引,也没有像字典的key,所以集合不能更改元素。只能增删查(print、for循环)

集合的作用:

  • 去重复元素
  • 关系测试:交集、并集、差集、反交集、超集

二、集合的操作

1.集合的创建

  1. #set 的创建
  2. set1 = set('abcde') #def __init__(self, seq=()): 接受一个可迭代对象
  3. set2 = { 1,2,7,3,8,4,5,6} #直接赋值
  4. print(set1)
  5. print(set2)

2.去重

  1. #利用set去重
  2. li = [2,4,1,3,4,5,6,7,3,3]
  3. set1 = set(li)
  4. li = list(set1)
  5. print(li)

3.集合的增

3.1添加一个元素方法

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. #添加一个元素使用set.add()
  3. set1 = { 1,2,7,3,8,4,5,6}
  4. set1.add('a') #Add an element to a set.
  5. print(set1) #{1, 2, 3, 4, 5, 6, 7, 8, 'a'}

3.2迭代添加元素.接受一个可迭代对象,字符串、元组、列表、字典

  1. #迭代添加
  2. s1 = '中国'
  3. set1 = { 1,2,7,3,8,4,5,6}
  4. set1.update(s1) #接受一个可迭代对象。把每个元素拆开,添加到set中
  5. print(set1)

4.集合的删

4.1删除一个元素从set中

  1. #删除一个元素从set中
  2. set1 = { 1,2,7,3,8,4,5,6,'a'}
  3. set1.remove('a') #Remove an element from a set
  4. print(set1)

4.2随机删除元素

  1. #随机删,并返回被删除元素
  2. set1 = { 1,2,7,3,8,4,5,6,'a'}
  3. set2 = set1.pop() #Remove and return an arbitrary set element.
  4. print(set2)
  5. print(set1)

5.集合的其他操作

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. #1.print打印
  3. set1 = { 1,2,7,3,8,4,5,6,'a'}
  4. print(set1)
  5. #2.for循环
  6. for i in set1:
  7. print(i)
  8. #3.in not in
  9. print('a' in set1)
  10. #4.len()获取长度
  11. print('集合长度:%d'%(len(set1)))

三、关系测试

交集

交集使用 & 或 intersection()

  1. set1 = { 1,2,3,4,5,6,7}
  2. set2 = { 3,4,5,6,7,8,9}
  3. set3 = set1 & set2
  4. set3 = set1.intersection(set2)
  5. print(set3) #{3, 4, 5, 6, 7}

并集

并集: | 或者 union

  1. set1 = { 1,2,3,4,5,6,7}
  2. set2 = { 3,4,5,6,7,8,9}
  3. set3 = set1 | set2
  4. set3 = set1.union(set2)
  5. print(set3) #{1, 2, 3, 4, 5, 6, 7, 8, 9}

差集

差集:两者各自特有的部分。使用 - 或者 difference()

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. #差集 : 两者做差,求各自特有的部分;该集合中的元素,只属于某一个集合,不属于另外那个集合
  3. set1 = { 1,2,3,4,5,6,7}
  4. set2 = { 3,4,5,6,7,8,9}
  5. #两种方式 - 或者 difference
  6. set3 = set1 - set2 #两者做差,求各自特有的部分
  7. set4 = set2 - set1 #两者做差,求各自特有的部分
  8. set3 = set1.difference(set2)
  9. set4 = set2.difference(set1)
  10. print(set3)#{1, 2} #set1特有的部分
  11. print(set4)#{8, 9} #set2 特有的部分

反交集

反交集:^ 或者 symmetric_difference();该集合元素只能属于set1或者set2,不能同时set1又属于set2两个集合。->抛去两个集合相交的部分,把两者剩余的组成一个新集合。

  1. #反交集:抛去他俩相同的部分,再组成一个新集合
  2. set1 = { 1,2,3,4,5,6,7}
  3. set2 = { 3,4,5,6,7,8,9}
  4. set3 = set1 ^ set2
  5. set3 = set1.symmetric_difference(set2)
  6. print(set3) #{1, 2, 8, 9} 1,2是set1特有,8,9是set2特有

子集与超集

  1. #子集与超集 : 检测某个集合是否是其他集合的超集或子集
  2. #成立条件:set2必须得包含set1,并且含有set1没有的元素。set1不含有set2中的元素
  3. set1 = { 1,2,3,4,5,6,7}
  4. set2 = { 3,4,5,6,7,8,9}
  5. set3 = { 4,3}
  6. print(set2.issuperset(set1)) #False >=
  7. print(set1.issuperset(set2)) #False
  8. print(set2.issuperset(set3)) #True
  9. print(set3.issubset(set2)) #True <= set3是set2的子集

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python笔记 集合基础 set

    Python笔记 集合基础 set > 集合(set)是不重复元素的无序合集,主要用来检测某个元素是否属于成员或者用来去重。支持交集、并集、差集、补集等这些数学操作。集合

    相关 Python基础教程set集合教程

    一、集合类型 集合是一组无序排列的可哈希的值(可哈希的值->不可变),集合成员可以做字典中的键。但集合本身是不可哈希的。 集合是无序没有索引,也没有像字典的key,所以集合

    相关 Python基础】之集合set()

    集合用\{\}包含元素,但是不能用\{\}初始化集合,因为用\{\}初始化一个变量,默认是字典,集合是一个不重复且无序的元素集 集合的常用功能: set():初始