title: python复习100天—第4天
date: 2020-02-26 19:00:24
tags:
- python- 基础
categories: python复习
Python基本数据类型
集合
- 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
- 集合的创建方法:大括号或者set函数
- 集合是无序的,而列表和元组是有序的
- 集合中的元素不存在重复(所以集合常用来数据去重)
a = {1, 2, 3} # 注意:集合只有逗号,没得冒号b = set('abcde')print(a, '', b)# 输出结果"""{1, 2, 3}{'a', 'c', 'e', 'd', 'b'}"""
- 集合的查看方法
- 集合中单个元素无法抽出来查看,因为集合是无序的
- 集合元素的增加
- 利用add方法可以增加元素
- 利用update方法也可以增加元素
- add用于增加单个元素,update用于增加多个元素,且update增加元素的格式为列表或者元组或者字典
a = {1, 2, 3} # 注意:集合只有逗号,没得冒号a.add(4)a.update([5]) # 用update增加单个元素也需要使用列表格式print(a)# 输出结果"""{1, 2, 3, 4, 5}"""
- 集合元素的删除
- 使用remove方法移除特定元素(list中也有这个方法)
- 使用pop方法随机移除一个元素(集合没有序号,所以只能随机移除)
- 使用discard移除特定元素,如果元素不存在不会报错
a = set(range(10)) # set把range转集合a.remove(9)a.pop() # 随机删除a.discard(100) # 这个元素不存在,不会报错print(a)# 输出结果"""{1, 2, 3, 4, 5, 6, 7, 8}"""
- 集合的数学运算符
- Python中的集合和数学中的集合基本使用方法一致
- -:用于求两个集合的差集(绿色剩余部分表示A-B)
a = set(range(10)) # set把range转集合b = set(range(6, 12))print(a-b)# 输出结果"""{0, 1, 2, 3, 4, 5}"""
-
- |:用于求两个集合的并集(绿色部分为A|B,可以理解为A或者B)
a = set(range(10)) # set把range转集合b = set(range(6, 12))print(a | b)# 输出结果"""{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}"""
-
- &:用于求两个集合的交集(阴影黄色部分为A&B)
a = set(range(10)) # set把range转集合b = set(range(6, 12))print(a & b)# 输出结果"""{8, 9, 6, 7}"""
-
- ^:用于求两个集合不同时存在的元素(可以翻译为A否B,上面图黄色加红色就是了)
a = set(range(10)) # set把range转集合b = set(range(6, 12))print(a ^ b)# 输出结果"""{0, 1, 2, 3, 4, 5, 10, 11}"""
- 集合中常用函数
- len函数:计算集合中元素个数。使用同列表、字典、元组、字符串
- in函数:验证元素是否在集合中。使用同列表、字典、元组、字符串
- 集合中常用方法:
- symmetric_difference:返回两个不相同的元素,和上面的^一样
a = set(range(10)) # set把range转集合b = set(range(6, 13))print(a.symmetric_difference(b))# 输出结果"""{0, 1, 2, 3, 4, 5, 10, 11, 12}"""
-
- intersection:返回两个集合的交集,和上面的&一样
a = set(range(10)) # set把range转集合b = set(range(6, 13))print(a.intersection(b))# 输出结果"""{8, 9, 6, 7}"""
-
- difference:返回两个集合的差集,和上面的-一样
a = set(range(10)) # set把range转集合b = set(range(6, 13))print(a.difference(b))# 输出结果"""{0, 1, 2, 3, 4, 5}"""
-
- union:返回两个集合并集,和上面的|一样
a = set(range(10)) # set把range转集合b = set(range(6, 13))print(a.union(b))# 输出结果"""{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}"""
-
- copy():复制集合,同列表
a = set(range(10)) # set把range转集合b = a.copy()print(b)# 输出结果"""{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}"""
-
- clear():移除集合中所有元素,同列表,字典
a = set(range(10)) # set把range转集合b = set(range(6, 12))a.clear()print(a)# 输出结果"""set()"""