◎知识点
集合的定义
集合的创建
集合间的关系
◎脚本练习
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@FileName: set_def.py
@Function: set definition
@Author: Zhihe An
@Site: https://chegva.com
@Time: 2021/6/29
"""
"""一、集合的定义"""
"""
除了列表、元组和字典,集合也是python语言提供的内置数据结构之一
可以把集合看做是没有存储value的字典,因此,集合的特点如下:
(1) 集合中不可以存储重复的数据
(2) 集合中的数据是无序的
(3) 集合中的数据可以是任何不可变的类型,多种类型的数据可以混合存储在一个集合中
(4) 集合可以根据需要动态地伸缩,也就是说,系统会根据需要动态地分配和回收内存,因此,在使用前无须预先声明集合的容量
(5) 集合会浪费较大的内存
与列表相比,集合是用空间换取了时间
"""
"""二、集合的创建"""
"""
创建集合的常见方式有两种:
1、使用花括号
将创建的集合赋值给变量时,变量名不要取为set,因为set是集合对应的类名
"""
s = {3, 5, 9, 2, 6}
print(s) # {2, 3, 5, 6, 9}
# 集合中重复的元素会被去除掉
print({3, 5, 3, 9, 2, 9, 3, 6}) # {2, 3, 5, 6, 9}
# 不能使用{}表示空集合,因为{}表示空字典
print(type({})) # <class 'dict'>
"""
2、调用内置函数set(类set的构造方法)
"""
print(set(range(1, 6))) # {1, 2, 3, 4, 5}
print(set([3, 5, 9, 2, 6])) # {2, 3, 5, 6, 9}
print(set((3, 5, 9, 2, 6))) # {2, 3, 5, 6, 9}
print(set('35926')) # {'5', '6', '3', '9', '2'}
print(set({3, 5, 9, 2, 6})) # {2, 3, 5, 6, 9}
# 空集合
print(set()) # set()
# 集合中重复的元素会被去除掉
print(set([3, 5, 3, 9, 2, 9, 3, 6])) # {2, 3, 5, 6, 9}
"""三、集合间的关系"""
"""
1、两个集合是否相等
可以使用运算符==和!=进行判断
"""
s1 = {1, 3, 5, 7, 9}
s2 = {3, 7, 9, 5, 1}
print(s1 == s2) # True
print(s1 != s2) # False
"""
2、一个集合是否是另一个集合的子集
可以调用方法issubset进行判断
"""
s1 = {1, 3, 5, 7, 9}
s2 = {2, 3, 6, 7, 10}
s3 = {1, 3, 5, 6, 7, 9}
print(s1.issubset(s2)) # False
print(s1.issubset(s3)) # True
"""
3、一个集合是否是另一个集合的超集
可以调用方法issuperset进行判断
"""
print(s2.issuperset(s1)) # False
print(s3.issuperset(s1)) # True
"""
4、两个集合是否没有交集
可以调用方法isdisjoint进行判断
"""
s1 = {1, 3, 5, 7, 9}
s2 = {2, 3, 6, 7, 10}
s3 = {2, 4, 6, 8, 10}
print(s1.isdisjoint(s2)) # False
print(s1.isdisjoint(s3)) # True▽ 集合示意图
◎脚本地址:https://github.com/anzhihe/learning/blob/master/python/practise/learn-python/python_basic/set_def.py
