Python小白学习笔记四(容器类型 5 集合 )

Python小白学习笔记四(容器类型 5 集合 )

集合 set

定义
由一系列键值对组成的可变散列容器。
由一系列不重复的不可变类型变量(元组/数/字符串)组成的可变散列容器。
相当于只有键没有值的字典(键则是集合的数据)。
特点:去重复,无序性

基础操作
创建空集合:

		集合名 = set()  
		集合名 = set(可迭代对象)

创建具有默认值集合:

			集合名 = {1, 2, 3}
			集合名 = set(可迭代对象)

添加元素:集合名.add(元素)

删除元素:集合名.discard(元素)

运算
1.交集 & :返回共同元素。
		s1 = {1, 2, 3}
		s2 = {2, 3, 4}
		s3 = s1 & s2  # {2, 3}

2.并集  |  :返回不重复元素
		s1 = {1, 2, 3}
		s2 = {2, 3, 4}
		s3 = s1 | s2  # {1, 2, 3, 4}	

3.补集  -  :返回只属于其中之一的元素
	   	s1 = {1, 2, 3}
	   	s2 = {2, 3, 4}
	   	s1 - s2  # {1} 属于s1但不属于s2      

4.补集 ^ :返回不同的的元素
	   	s1 = {1, 2, 3}
	   	s2 = {2, 3, 4
	   	s3 = s1 ^ s2  # {1, 4}  等同于(s1-s2 | s2-s1)

5.子集 < :判断一个集合的所有元素是否完全在另一个集合中

6.超集 > :判断一个集合是否具有另一个集合的所有元素
	   	s1 = {1, 2, 3}
	   	s2 = {2, 3}
	   	s2 < s1  # True
	   	s1 > s2  # True

注:相同或不同== !=:
判断集合中的所有元素是否和另一个集合相同。

s1 = {1, 2, 3}
s2 = {3, 2, 1}
s1 == s2  # True
s1 != s2  # False
子集或相同,超集或相同 <=  >=

集合推导式
定义:使用简易方法,将可迭代对象转换为集合。
   语法:

			{表达式 for 变量 in 可迭代对象}
	 		{表达式 for 变量 in 可迭代对象 if 条件}
1 #    集合 set
 2 #        自动去重复,无序
 3 # 创建
 4 #法1: 集合名 = {元素1,元素2,...}
 5 set01 = {"悟空","八戒","唐僧"}
 6 #法2: 集合名 = set(可迭代对象)
 7 list01 = ["悟空","八戒","唐僧","悟空","八戒","唐僧"]
 8 set02 = set(list01)
 9 print(set02)
10 
11 #添加 集合名.add(元素)
12 set02.add("小白龙")
13 #不能定位的原因:1.无序性导致不能使用切片 2.不是键值对不能使用键查找值
14 
15 #遍历
16 for item in set01:
17     print(item)
18 
19 #删除
20 if "悟空" in set01:
21     set01.remove("悟空")
22 print(set01)
23 
24 # 交并补
25 s01 = {1,2,3}
26 s02 = {2,3,4}
27 print(s01 & s02)    #输出交集元素
28 print(s01 | s02)    #输出并集元素
29 print(s01 ^ s02)    #输出补集元素(所有)
30 print(s01 - s02)    #输出单边补集,即s01中s02没有的元素
31 
32 #子集
33 s03 = {1,2}
34 print(s03 < s01)    #子集s03  超集s01(可理解为全集)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值