#字典的其他方法
info1={
'sname':'陈狗粮',
'age':38,
'hobby':['吃鸡','pc'],
}
info2=info1.copy() #返回一个新的字典,内容一样,地址不同
print(info2)
print(info1==info2) #==判断值是否相等
print(info1 is info2) #is判断地址是否相等
infos=dict.fromkeys(info1,'男')
print(infos) #以info1中的键创建一个新字典都赋值为'男'
ls=['a','b','c']
infos = dict.fromkeys(ls,'哈哈')
print(infos)
info1={
'sname':'陈狗粮',
'age':38,
'hobby':['吃鸡','pc'],
}
#如有这个键不改,返回这个值,如没有并返回此值'女',并新增,默认为none
print(info1.setdefault('sex','女'))
print(info1)
info1 = {'sid':1}
info2 = {'sid':2,'sname':'陈狗粮'}
info2.update(info1) #把info1的键/值对 更新 到info2里
print(info2)
#set
'''
set 无序,不能重复的集合容器,所以可以用来过滤重复!元素
而list 连续的,有顺序存储的值是可以重复的
'''
s=set({1,2,3,2,4}) #过滤重复的
print(s)
s={1,2,3,2,4} #也是过滤重复的
print(s)
s=set() #进入空的set
print(s)
a,b = (1,2) #分别赋值
print(a)
print(b)
#因为无序所以不能用下标获值,可通过循环遍历
mySet = {1,2,3,4}
#print(mySet[2]) 无法获取
for i in mySet:
print(i)
s={1,2,3,4}
s.add(5) #新增
print(s)
s.remove(4) #移除
print(s)
set1={5,6,7,8,9}
set2=[2,1]
set1.update(set2) #将set2并入set1(set2还可以是列表,元组,字典等)
print(set1)
set1={5,6,7,8,9}
set2=(9)
set1.discard(set2) #将set2从set1中清除
print(set1)
set1={5,6,7,8,9}
print(set1.pop()) #随机删除并返回
set1={5,6,7,8,9}
set1.clear() #清空
print(set1)
set1={5,6,7,8,9}
print(5 in set1) #查询是否在内
set1={5,6,7,8,9}
set2={6,9,10}
print(set1.union(set2)) #并集
print(set1|set2) #并集
print(set1.intersection(set2)) #交集
print(set1&set2) #交集
print(set1.difference(set2))#差集(相当于左差集)
print(set1-set2) #差集
print(set2.issubset(set1)) #判断set2是否为set1的子集
print(set1.issuperset(set2)) #同样判断set2是否为set1的子集
print(set1.symmetric_difference(set2)) #相当于两集合不相交的部分
网友评论