“”"
1、 传值和传址的区别:
– 对于简单的数值,采用传值操作,即在函数内对参数的操作不影响外面的变量;
– 对于复杂变量,采用传地址操作,此时函数内的参数和外部变量是同一份内容,任何地方对此内容的更改都影响另外的变量或参数的使用;
2、元祖–tuple: 可以看成一个不可更改的list
– 元祖创建: t = (
– tuple的内容不可修改
3、元祖的函数(除了tuple,其余函数对list也同样适用):
– len: 获取元祖的长度
– max,min:最大值/最小值
– tuple: 转换或者创建元祖
– count: 统计数据出现的次数
– index: 返回元素在元祖中的索引位置
4、集合-set
– 一堆确定的无序的唯一数据,集合中每一个数据成为一个元素;
– s = set()
– s= {1,2,3,4,5} 大括号里面一定要有值,否则定义出来的就是一个dict
– 集合内的数据无序,无法使用索引和分片
– 集合内部数据具有唯一性,可以用来排除重复数据
5、集合的内涵
– 普通集合内涵: 在初始化之后自动过滤掉重复的元素
6、集合函数/关于集合的元素
— len,max,min:跟其他函数一致
— set:生成一个集合
— add:向集合添加元素
— clear:原地清空数据
— copy:拷贝
— remove:移除指定的值,直接改变原有的值,如果要删除的值不在,则直接报错
— discard:移除集合中指定的值,同remove一样,如果要删除的话不报错
— intersection:交集
— difference:差集
— union:并集
— issubset:检查一个集合是否为另一个子集
— issuperset:检查一个集合是否为另一个超集
“”"
Case01:元祖操作
“”"
t1= (1,2,3)
t2=(2,3,4)
print(t1+t2)
print(t1*2)
for i in t1:
print(i,end = " “)
“””
Case02: 双层元祖遍历
“”"
t = ((1,2,3),(22,33,445),(“wyb”))
for i in t:
for j in i:
print(j)
“”"
Case03: 获取元祖的长度
“”"
t = (1,2,3,4,33,444,5,33,22,343,222,12,1,32,3,43,4,54,5,6,9)
print(len(t))
print(max(t))
print(min(t))
l = [22,33,44,55]
print(tuple(l))
print(t.count(3))
“”"
Case04:集合取数
“”"
s = {33,22,44,222,1111,2223,33333,4444}
for i in s:
print(i,end=" “)
“””
Case05:带元祖的集合遍历
“”"
s = {(1,2,3),(“aaa”,“bbb”,“ccc”),(“a222”,“neee2”,“33333”)}
for k,v,m in s :
print(k,"----",v,"-----",m)
“”"
Case06:集合的内涵
“”"
s = {23,22,33,33,333,2222,3,2,2,222,22,222,2333,4344,22,33,444,555}
print(s)
ss = {i for i in s if i%20}
print(ss)
sss = {i for i in s if i%1110}
print(sss)
s2={‘wyb’}
ssss= {n*m for m in ss for n in s2}
print(ssss)
“”"
Case07: 生成集合
“”"
l = [22,232,222,122,3434,444,2322,2212]
s = set(l)
print(s)
“”"
Case08:集合添加元素
“”"
s = {22,‘wyb’}
s.add(“mtjj”)
print(s)
s.clear()
print(id(s))
print(s)
“”"
Case09:集合函数
“”"
s1= {1,2,3,4,5,6,67}
s2={2,2,1,3,4,2,1}
s_1= s1.difference(s2)
print(s_1)
s_2= s1.union(s2)
print(s_2)
s_3= s1.issubset(s2)
print(s_3)
s_4=s_2.issubset(s1)
print(s_4)
“”"