python-集合set

文章目录

      • 1、集合特点
      • 2、集合创建
      • 3、获取集合
      • 4、修改集合
      • 5、删除集合
      • 6、集合操作
        • 6.1并集
        • 6.2交集
        • 6.3差集
        • 6.4对称差集

1、集合特点

1.1、集合是无序元素的集合,
1.2、集合中的元素不可重复
1.3、创建完成后,其中的元素不可更改
1.4、整个集合是可以更改,可以向其增加元素,也可以从中删除元素。
即:我们无法修改集合中的元素,但是我们可以对整个集合进行添加或者是删除等更改的操作

2、集合创建

集合的创建非常简单,只需要将以逗号分隔的元素放在花括号 {} 中,{元素1,元素2,元素3,…,元素n}

>>> set1={1,2,'e',4}
>>> type(set1)
<class 'set'>

>>> set2={1,2,'e',4,4,2}
>>> set2 #重复元素打印时只显示一个
{1, 2, 4, 'e'}

3、获取集合

  • 通过 for 循环遍历集合的元素, 元素的顺序主要应用在索引中,集合中的元素是无序的,也就无法应用索引进行访问了
for novel in novels:
   print(novel)
  • 使用 in 关键字来判断集合中是否存在某个元素,如果元素在集合内,返回 True,如果元素不在集合内,返回 False
print('鸳鸯刀' in novels)

4、修改集合

  • 方法:add() and update()
  • 作用:add() 和 update() 都可用于向集合添加元素
  • 语法规则:集合名.add(元素名)、集合名.update({元素1,元素2,…,元素n})
  • 区别:add() 和 update() 的一个区别是 add() 添加的是一个元素;update() 添加的是集合或者是列表,添加的是多个元素
novels = {'飞狐外传', '雪山飞狐', '连城诀', '天龙八部', '射雕英雄传', '白马啸西风', '鹿鼎记'}
novels.add('笑傲江湖')
print(novels)
novels.add('书剑恩仇录')
print(novels)
novels.add('神雕侠侣')
print(novels)
novels.update({'侠客行', '倚天屠龙记'})  # update 的参数为集合
print(novels)
novels.update(['碧血剑', '鸳鸯刀'])
print(novels)  # update 的参数为列表

5、删除集合

  • 方法:discard() and remove()
  • 语法规则:集合名.discard()、集合名.remove()。
  • 区别:这两个函数的区别在于,从集合中删除一个不存在的元素时,discard() 不会执行任何操作,而 remove() 会抛出一个异常
novels.discard('飞狐外传')
print(novels)
novels.remove('雪山飞狐')
print(novels)

6、集合操作

6.1并集

  • 语法规则一:集合1.union(集合2)
    print(novels_1.union(novels_2))
  • 语法规则二: 集合1|集合2
    print(novels_1 | novels_2)

6.2交集

  • 语法规则一: 集合1.intersection(集合2)
    print(novels_1.intersection(novels_2))
  • 语法规则二:集合1 & 集合2
    print(novels_1 & novels_2)

6.3差集

  • 语法规则一:集合1.difference(集合2):即实现属于集合 1 不属于集合 2 的差集

print(novels_1.difference(novels_2))
// 当集合 novels_1 在 difference() 之前时,打印的是属于集合 novels_1 不属于集合 novels_2 的元素集合,集合 novels_2 在 difference() 之前时,打印的是属于集合 novels_2 不属于集合 novels_1 的元素集合

  • 语法规则二: 集合1-集合2:即实现属于集合 1 不属于集合 2 的差集
    print(novels_1 - novels_2)

6.4对称差集

  • 说明:对称差集就是属于集合 A,不属于集合 B 的以及属于集合 B 不属于集合 A 的元素集合,就是集合 A 与集合 B 的并集减去集合 A 与集合 B 的交集
  • 语法规则一:集合1.symmetric_difference(集合2)
    print(novels_1.symmetric_difference(novels_2))
  • 语法规则二:集合1^集合2
    print(novels_1 ^ novels_2)

你可能感兴趣的:(python,开发语言)