字典-其他
infos1={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐冲','烫头发']
}
infos2=infos1.copy() #复制字典,地址不同,其他相同
print(infos2)
print(id(infos1)is id(infos2)) #is 判断地址是否相等
print(infos1==infos2) #== 判断值是否相等
'**************是不是分割线***************'
ls=['A','B','C']
infos=dict.fromkeys(ls,'smd')#创建新的字典,以原列表中的元素作为键,并赋值'smd'
print(infos)
'**************是不是分割线***************'
infos1={'sid':376,
'sname':'任盈盈',
'age':21,
'hobby':['lol','令狐冲','烫头发']
}
print(infos1.setdefault('age',17))
print(infos1) #如果键在字典中,返回这个键所对应的值
print(infos1.setdefault('sex','女'))
print(infos1) #如果键不在字典中,将会添加键并将值设为default
'**************是不是分割线***************'
infos1={'sid':376,
'sname':'任盈盈',
}
infos2={'sid':123,
'sname':'任盈盈',
}
infos1.update(infos2) #把字典2中的键值对更新到字典1
print(infos1)
字典与列表对比
和list比较,dict有以下几个特点:1 查找速度极快,不会随着key的增加而变慢;
2 需要占用大量的内存,内存浪费多。
而list:1 查找和插入的时间随着元素的增加而增加;2 占用空间小,浪费内存很少。
因此,dict是用空间来换取时间的一种方法。
关于 set
# Set 是无序的,存储的值不能重复
# list是连续的,有顺序,存储的值可以重复
mySet=set([1,2,3])
print(mySet)
#二者相同
mySet={1,2,3}
print(mySet)
mySet={1,2,3,111,4,6,1,3}
print(mySet)
'*************割割割割割割***************'
mySet= set()
print(mySet)
'**************割**************************'
mySet={1,2,3}
mySet.add(4) #新增
print(mySet)
mySet={1,2,3}
mySet.remove(3)
print(mySet) #删除一个
'***************割****************'
mySet1={1,2,3}
mySet2={3,4,5}
print(mySet1 | mySet2) #并集
print(mySet1.union(mySet2))
print(mySet1 & mySet2) #交集
print(mySet1.intersection(mySet2))
print(mySet1 - mySet2) #差集
print(mySet1.difference(mySet2))
'***************割****************'
set1={1,2,3}
set1.update('4') #将集合x并入原集合s中,x还可以是列表,元组,字典等,x 可以有多个,用逗号分开
print(set1)
set1={1,2,3}
set1.discard(2) #移除
print(set1)
'***************割****************'
set1={1,2,3}
set2=set1.pop() #随机删除,并返回
print(set1)
print(set2)
'***************割****************'
set1={1,2,3}
print(2 in set1) #判断是否存在
set1.clear()
print(set1)
'***************割****************'
set1={1,2,3,4,5}
set2={4,5} #判断是否为子集
print(set2.issubset(set1))
print(set1.issuperset(set2))
多维
python的集合可以存放任意类型,可以嵌套很多层次
ls=[1,2,(4,5,6),7,8,[9,0,('a','b','c')]]
print(ls[5][2][1])
2017-11-1