2017.11.1知識點

infos1={

'sid':110,

'sname':'老王',

'age':22,

'hobby':['抽煙','喝酒','燙頭發(fā)',]

}

#copy 內(nèi)容一樣,地址不同

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如果不寫默認(rèn)為none

'''

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

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

print(infos)

print('******華麗的分割線******')

infos1={

'sid':110,

'sname':'老王',

'age':22,

'hobby':['抽煙','喝酒','燙頭發(fā)',]

}

'''如果字典里鍵存在,不能修改,并返回原來這個值

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

'''

infos1.setdefault('sid',120)

print(infos1)

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

print(infos1)

print('******華麗的分割線******')

infos1={'sid':1}

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

#字典的鍵不能重復(fù),如果重復(fù)后面的會覆蓋前面的

infos2.update(infos1)

print(infos2)

print('******華麗的分割線******')

'''

字典與列表對比

和list對比,dict有以下特點:

1、查找速度快,不會隨著key增加而變慢

2、需要占用大量內(nèi)存,內(nèi)存浪費

3、占用空間大,查詢效率高

而list:

查找和插入元素的時間隨著元素的增加而增加

占用空間小,浪費內(nèi)存

所以dict是一種以空間獲取時間的一種方法

'''

print('******華麗的分割線******')

'''

set集合

list列表是連續(xù)的,存儲的值可以重復(fù)

元組是不可修改的列表

而set和字典一樣,是無序的,不能重復(fù)

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

set也用大括號取值,里面只能放一個值

set一般可以幫助我們自動去重復(fù)

'''

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)? #自動去重復(fù)

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:? #不能通過下標(biāo)獲取,無序,只能循環(huán)獲取

print(i)? #只要集合都能循環(huán)

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,)? #只能移除一個數(shù)

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當(dāng)中,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的子集

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容