Python学习日志
RBHGO的主页欢迎关注
温馨提示:创作不易,如有转载,注明出处,感谢配合~
目录
文章目录
Python学习日志07课 - 集合
前言
在学习日志06课中与大家细细分享了一波字符串知识,06课的内容比较多,但是字符串确实和列表和元组比较相似,所以希望大家一定要重视,知道如何表示和操作字符串对程序员来说是非常重要的,因为我们需要处理文本信息,所以大家一定要掌握哦。还有就是我补充了字符串的拆分、合并、编码、解码等,如果正好有需要而且还没看到的,可以去学习日志06课了解一下,如果觉得有用记得点个赞!然后现在让我们继续回到容器型数据类型的内容分享里。
直接进入正题
今天和大家分享的容器型的数据类型,它的名字叫集合(set)。说到集合这个词大家一定不会陌生,在数学课本上就有这个概念。通常我们对集合的定义是“把一定范围的、确定的、可以区别的事物当作一个整体来看待”,集合中的各个事物通常称为集合的元素。集合应该满足以下特性:
-
无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。
-
互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
-
确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。
Python程序中的集合跟数学上的集合是完全一致的,需要强调的是上面所说的无序性和互异性。根据名字我们就能猜到个大概了,Python中的集合肯定不能够支持索引运算。另外,集合的互异性决定了集合中不能有重复元素,这一点也是集合区别于列表的关键,说得更直白一些就是,Python中的集合类型具有去重特性。
创建集合
# 定义一个空集合
# 这样是不对的,这样创建的是后面分享空字典的创建方法
set1 = {
}
print(type(set1)) # 运行结果:<class 'dict'>
# 用构造法定义一个空集合
set2 = set()
print(type(set2)) # 运行结果:<class 'set'>
# 创建集合的构造器语法(结果中只有一个'l',看出互异性)
set3 = set('hello')
print(set3) # 运行结果:{'h', 'l', 'o', 'e'}
# 将列表转换成集合(可以去掉列表中的重复元素)
set4 = set([1, 2, 3, 3, 2, 1])
print(set4) # 运行结果:{1, 2, 3}
# 创建集合的生成式语法(将列表生成式的[]换成{})
set5 = {
num for num in range(1, 20) if num % 3 == 0 or num % 5 == 0}
print(set5) # 运行结果:{3, 5, 6, 9, 10, 12, 15, 18}
set6 = {
1,