1.学习方法:
先写笔记后写作业
2.上节课回复
Python中最基本的数据类型:
str
tuple
dict
list
新补充set集合
函数分为自定义函数和Python的内置函数
深拷贝和浅拷贝
装饰器
set 表示是一个无序且不重复
例如set={"123","234","3444"}
类里面有什么功能,就可以调用啥功能
创建列表有两种方式
第一种是l=[]
第二种是l=list(("11",“22”))
例子:
l=[11,22,33,11]
s=set(l)
print(s)输出结果:
{33, 11, 22}
#创建集合的三种方法
s=set()
s1=set([11,22,33])
s2={55,66}
print(s1)
可以用于做自己做过的场景或者做爬虫的时候使用
set方法中的copy是浅拷贝,只拷贝一层
小例子:
s=set()
s.add(123)#添加元素
s.add(123)
g=123 in s
print(g)
s.clear()#清空元素
print(s)
s1={11,22,33}
s2={22,33,44}
s3=s1.difference(s2)#表示A中存在,B中不存在的事务
s4=s2.difference(s1)#表示B中存在,A中不存在的事务
s5=s1.symmetric_difference(s2)#查找A 和B 中都不存在的事务
#print(s3,s4,s5)
#s1.difference_update(s2)#将A 存在B中不存在的事务放到s1中,目的是节省内存
#print(s1)
s1.symmetric_difference_update(s2)#把AB互相都不存在的事务更新到s1中
print(s1)#可以节省内存
小例子(2):
#s1.remove(555)#如果没有会报错
s1.discard(11)#如果没有不会报错
print(s1)
s1.pop()#因为集合是没有排序的所以这个删除在这里也是随机删除的
print(s1)小例子(3)
#判断两个set集合是否有交集
print(s1,s2)
flag=s1.isdisjoint(s2)#如果没有交集返回True,有交集返回False
print(flag)
小例子(4)
flag=s1.issubset(s2)#s1是s2的子序列
print(flag)
flag=s1.issuperset(s2)#s1是s2的父序列
print(flag)print(s1.union(s2))#s1 和s2的并集
小例子(5)
s1.add(55)#这种方法只可以每次添加一次
#而每次可以添加多个的是这个方法
s1.update((44,55,66))
小例子(6)
list=[11,22,33,44]#自动执行list里面的 __init___构造方法
list()#加上() 自动执行list的__call__方法
list[0]#自动执行 list的__getitem__方法
list[0]=123#自动执行list的__setitem__方法
def list[]
小例子(7)
dict1={"#1":8,"#2":4,"#4":3}
dict2={"#1":4,"#2":3,"#3":2}
print(dict1," | ",dict2)
set1=set()
for i in dict1:
set1.add(i)
set3=set()
for i in dict2:
set3.add(i)
print("set1:",set1," set3:",set3)
print("应该添加的是:",set3.difference(set1))#后者跟前者不同的地方
print("应该更新的是:",set1.intersection(set3))#两者共有的
print("应该删除的是:",set1.difference(set3))#自己独有的