一、知识目标
1、掌握集合的特点 2、掌握集合的定义 3、掌握集合的运算
二、知识点
01、创建集合
1、集合的概述
1、Python 中集合同数学集合类似,用于保存不重复的元素。 2、集合分为可变集合与不可变集合。 3、集合中的元素都放在一对‘{}’中,相邻的元素用‘,’隔开。
2、集合的创建
使用‘{}’或者set函数创建集合,如果要创建集合则只能使用set函数 注意:集合中不能包含有重复值元素。如果创建集合或向集合中插入元素时,指定的元素具有重复值,则集合自动除去重复的元素
s = {23, 37, 12, 37, 28}
print("s的值为:{}".format(s))
02、插入集合元素
集合中提供了两种插入元素的方法,分别是add与update 1、s.add(x):作用把x作为一个新的元素插入的奥集合中,其中x必须是一个可哈希对象 2、s.update(x):作用是把x拆分成多个元素和插入到集合中,x必须是可迭代对象
使用add方法与update方法插入
s1 = {1, 2}
s2 = {1, 2}
s1.add("python")
s2.update("python")
print('s1的值为:{}'.format(s1))
print('s2的值为:{}'.format(s2))
03、集合的运算
集合中提供用于集合元素的方法,如交、并、差、对称差:
s1 = {1, 2}
s2 = {1, 2}
s3 = s1.intersection(s2)
s4 = s1.union(s2)
s5 = s1.difference(s2)
s6 = s1.symmetric_difference(s2)
04、子集与父集
集合中提供了用于判断一个集合是否是另一个集合子集(父集)的方法。
子集和父集判断示例:
s1 = {1, 2, 3, 4}
s2 = {2, 3, 4, 5}
s3 = {1, 3}
print('s3是s1的子集:', s3.issubset(s1))
print('s1是s3的子集:', s1.issuperset(s3))
print('s3是s2的子集:', s3.issubset(s2))
print('s2是s3的子集:', s2.issuperset(s1))
三、补充知识:
01、列表、元组、字典、集合的区别
02、集合中的其他方法
1、clear清除集合
clear清空集合
s1 = {1, 2, 3, 4}
s1.clear()
print(s1)
2、remove方法
remove删除集合中的一个元素(如果元素不存在,则发生KeyError错误)
s1 = {1, 2, 3, 4}
s1.remove(3)
print(s1)
3、isdisjoint方法
如果两个集合有一个空交集,返回True
s = {1, 2}
s1 = {3, 4}
s2 = {2, 3}
print(s.isdisjoint(s1))
print(s.isdisjoint(s2))
4、difference_update方法
difference_update从这个集合中删除另一个集合的所有元素
s = {1, 2, 3}
s1 = {1, 2, 3, 4}
s2 = {2, 3}
s.difference_update(s2)
print(s)
s1.difference_update(s2)
print(s1)
编程练习
s = [1, 2, 3, 4, 5, 6]
s2 = [2, 444, 3, 9, 19, 88]
print(len(s))
print(len(s2))
import random
def Hashu():
n = eval(input("请输入一个整数:"))
s = set()
for i in range(n):
num = random.randint(1, n)
s.add(num)
print(num)
print(s)
Hashu()
|