2017.11.1知识点

infos1={

'sid':110,

'sname':'老王',

'age':22,

'hobby':['抽烟','喝酒','烫头发',]

}

#copy 内容一样,地址不同

infos2=infos1.copy()

print(infos2)

print(id(infos1))

print(id(infos2))

print(infos1==infos2)

'''

== 是判断值是否相等

ls 是判断地址是否相同

'''

ls1=[1,2,3]

ls2=[1,2,3]

print(ls1==ls2)

print('******华丽的分割线******')

'''

功能,字典可以用一个可迭代的对象作为值

值value如果不写默认为none

'''

ls=['a','b','c',]

infos=dict.fromkeys(ls,'哈哈')

print(infos)

print('******华丽的分割线******')

infos1={

'sid':110,

'sname':'老王',

'age':22,

'hobby':['抽烟','喝酒','烫头发',]

}

'''如果字典里键存在,不能修改,并返回原来这个值

如果不存在,新增再字典里,并返回新增的值

'''

infos1.setdefault('sid',120)

print(infos1)

infos1.setdefault('sex','男')

print(infos1)

print('******华丽的分割线******')

infos1={'sid':1}

infos2={'sid':2,'sname':'老王'}

#字典的键不能重复,如果重复后面的会覆盖前面的

infos2.update(infos1)

print(infos2)

print('******华丽的分割线******')

'''

字典与列表对比

和list对比,dict有以下特点:

1、查找速度快,不会随着key增加而变慢

2、需要占用大量内存,内存浪费

3、占用空间大,查询效率高

而list:

查找和插入元素的时间随着元素的增加而增加

占用空间小,浪费内存

所以dict是一种以空间获取时间的一种方法

'''

print('******华丽的分割线******')

'''

set集合

list列表是连续的,存储的值可以重复

元组是不可修改的列表

而set和字典一样,是无序的,不能重复

set里面放可迭代的东西,例如列表

set也用大括号取值,里面只能放一个值

set一般可以帮助我们自动去重复

'''

mySet=set([1,2,3,4,5,6,1,2,3,4,])

print(mySet)

mySet=set()  #没有放值,空白列表

print(mySet)

mySet={}  #不能这样写,是字典类型

print(mySet)

print(type(mySet))#字典类型

mySet = set([1,2,3,3,])#定义方式多种,可迭代,字符串也可以

print(mySet)  #自动去重复

mySet={1,2,3,3,2,}

print(mySet)

print('******华丽的分割线******')

infos1={'a':1,'b':2}

infos2=dict(infos1)

print(infos2)  #无序的

#直接遍历字典只能得到一个值,不能得到键值对的两个值

#不仅可迭代,还得两个值,用字典元组都行,列表也行

infos1=[('a',1),('b',2)]  #列表两个值,得到两个元组

for m,n in infos1:

print('m=%s,n=%s'%(m,n))

a,b=(1,2)  #得到元组可以给两个值赋值

print(a)

print(b)

print('******华丽的分割线******')

infos = dict(c=1,d=2) #不加单引号,定义好的

print(infos)

print('******华丽的分割线******')

mySet={1,2,3,4,}

#print(mySet(2))错误,无序

for i in mySet:  #不能通过下标获取,无序,只能循环获取

print(i)  #只要集合都能循环

print('******华丽的分割线******')

'''

set的一些常见操作

'''

#新添加

mySet={1,2,3,4,5,6,}

mySet.add(120,)

print(mySet)

print('******华丽的分割线******')

mySet={1,2,3,4,5,6,}

mySet.remove(3,)  #只能移除一个数

print(mySet)

print('******华丽的分割线******')

#并集|  交集&  差集-(左差集,右差集)

mySet1={1,2,3,}

mySet2={2,3,4,5}

print(mySet1 & mySet2)  #  .intersection交集

print((mySet1).intersection(mySet2))

print(mySet1 | mySet2)  #  .union并集

print(mySet1 - mySet2)  #  .difference差集

print('******华丽的分割线******')

mySet1={1,2,3,}  #将集合x并入集合s当中,x可以是列表,元组字典等 ,x可以有多个,用逗号隔开

mySet2={2,3,4,5}

mySet1.update(mySet2)

print(mySet1)

print('******华丽的分割线******')

mySet1={1,2,3,4,}

mySet2={1,2,3,}

mySet1.discard(2)  #只能移除一个,和remove类似

print(mySet1)

print('******华丽的分割线******')

mySet1={1,2,3,4,}

ret=mySet1.pop()

print(ret)  #随机删除,并返回这个值

print(mySet1)

mySet1={1,2,3,4,}

mySet1.clear()

print(mySet1)  #清空

mySet1={1,2,3,4,} #是否正确

print(1 in mySet1)

print('******华丽的分割线******')

mySet1={1,2,3,4,}

mySet2={1,2,3,}  # 判断s是否是x的子集

print((mySet2).issubset(mySet1))

print((mySet1).issuperset(mySet2))## 判断x是否是s的子集

你可能感兴趣的:(2017.11.1知识点)