Python 集合

集合简介

集合(set)是一个无序的不重复元素序列,是可变数据类型。
由大括号包裹,元素由逗号隔开。

集合内的元素只能是不可变的,也就是说集合内不能由列表、字典、集合。

集合的两大功能

集合只能在 去重、关系运算中才能用到,但是去重、关系运算不止有集合能做到。

1. 去重
在集合里面不会出现重复的数字,因为它自带去掉重复元素的功能。

	set_a = {'XWenXiang', 'good', 'nice', 'good', 'good'}
	print(set_a)

输出结果
	{'XWenXiang', 'nice', 'good'}

重复的元素被清除了。
2. 关系运算
判断俩个群体的差异性。

(1) 判断俩个集合的相同部分

	代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_b = {'age', 'name', 'good'}
		print(set_a & set_b)
	输出结果
		{'good'}


(2) 求集合 set_a 的单独部分(也就是除了共同部分的剩下)

	代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_b = {'age', 'name', 'good'}
		print(set_a - set_b)
	输出结果
		{'XWenXiang', 'nice'}


(3) 求集合 set_b 的单独部分

	代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_b = {'age', 'name', 'good'}
		print(set_b - set_a)
	输出结果
		{'name', 'age'}


(4) 求俩集合所有的值
	
	代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_b = {'age', 'name', 'good'}
		print(set_b | set_a)
	输出结果
		{'age', 'XWenXiang', 'name', 'good', 'nice'}


(5) 求俩个集合各自的部分(也就是除了共同的部分外的所有部分)

	代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_b = {'age', 'name', 'good'}
		print(set_b ^ set_a)
	输出结果
		{'age', 'XWenXiang', 'nice', 'name'}


集合添加、移除元素
add()方法 —增加元素
add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任
何操作
add()方法语法:

		set.add(elmnt)

代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_a.add('A')
		print(set_a)
输出结果
		{'XWenXiang', 'A', 'nice', 'good'}

若添加的已有,不会改变,因为有去重功能。
remove() 方法
remove() 方法用于移除集合中的指定元素。
remove() 方法语法:

		set.remove(item)

代码示例	
		set_a = {'XWenXiang', 'good', 'nice'}
		set_a.remove('nice')
		print(set_a)
输出结果
		{'XWenXiang', 'good'}

'''
注意的是,若是指定的元素不在集合里,程序会报错
'''
discard() 方法 —删除指定元素
discard() 方法用于移除指定的集合元素。
discard() 方法语法:

		set.discard(value)

代码示例
		set_a = {'XWenXiang', 'good', 'nice'}
		set_a.discard('nice')
		print(set_a)
输出结果
		{'good', 'XWenXiang'}


'''
使用的方法和 remove() 一样,但是不同的是,当指定的元素不存在时,discar
d() 方法不会报错。
'''
pop() 方法
pop() 方法用于随机移除一个元素
pop() 方法语法:

		set.pop()

注意没有参数

集合的交叉集

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值