Python學習【第2篇】:Python之數據類型(2)
阿新 • • 發佈:2018-03-25
append 但是 iss 代碼 key 常用方法 uber ner ces
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code?
+ View Code
元組
#為何要有元組,存放多個值,元組不可變,更多的是用來做查詢 t=(1,[1,3],‘sss‘,(1,2)) #t=tuple((1,[1,3],‘sss‘,(1,2))) # print(type(t)) # #元組可以作為字典的key # d={(1,2,3):‘egon‘} # print(d,type(d),d[(1,2,3)]) # 切片 # goods=(‘iphone‘,‘lenovo‘,‘sanxing‘,‘suoyi‘) # print(goods[1:3]) # 長度 #in: #字符串:子字符串 #列表:元素 #元組:元素 #字典:key # goods=(‘iphone‘,‘lenovo‘,‘sanxing‘,‘suoyi‘) # print(‘iphone‘ in goods)看的是裏面的元素在不在裏面 # d={‘a‘:1,‘b‘:2,‘c‘:3} # print(‘b‘ in d) 看的是key在不在d裏面 #掌握 # goods=(‘iphone‘,‘lenovo‘,‘sanxing‘,‘suoyi‘) # print(goods.index(‘iphone‘)) # print(goods.count(‘iphone‘)) #補充:元組本身是不可變的,但是內部的元素可以是可變類型 t=(1,[‘a‘,‘b‘],‘sss‘,(1,2)) #t=tuple((1,[1,3],‘sss‘,(1,2))) # t[1][0]=‘A‘ # print(t) # t[1]=‘aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa‘
字典
字典常用方法
字典的表示方法: info_dic={‘name‘:‘haiyna‘,‘age‘:18,‘sex‘:‘female‘} # 常用操作: # 1.存/取 info_dic={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} print(info_dic[‘name11111111‘])#找不到則報錯了 print(info_dic.get(‘name‘,None)) print(info_dic.get(‘name222222‘,None))#get方法找不到不報錯,可以自己設定默認值 #pop:key存在則彈出值,不存在則返回默認值,如果沒有默認值則報錯 # print(info_dic.pop(‘nam123123123123123123e‘,None)) # print(info_dic) # print(info_dic.popitem()) # print(info_dic) # info_dic[‘level‘]=10 # print(info_dic) # # 刪除 info_dic={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} # info_dic.pop() # info_dic.popitem() # del info_dic[‘name‘] # # 鍵s,值s,鍵值對 info_dic={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} # print(info_dic.keys()) # print(info_dic.values()) # print(info_dic.items()) # for k in info_dic: # # print(k,info_dic[k]) # print(k) # print(‘========>‘) # for k in info_dic.keys(): # print(k) # for val in info_dic.values(): # print(val) # for k,v in info_dic.items(): #k,v=(‘name‘, ‘egon‘) # print(k,v) # 長度 # info_dic={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} # print(len(info_dic)) # # 循環 # # 包含in # info_dic={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} # print(‘name‘ in info_dic) # print(‘name‘ in info_dic.keys()) # print(‘egon‘ in info_dic.values()) # print((‘name‘,‘egon‘) in info_dic.items()) #掌握 info_dic={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} # info_dic.update({‘a‘:1,‘name‘:‘Egon‘}) # print(info_dic) # info_dic[‘hobbies‘]=[] # info_dic[‘hobbies‘].append(‘study‘) # info_dic[‘hobbies‘].append(‘read‘) # print(info_dic) #setdefault:key不存在則設置默認值,並且放回值默認值 #key存在則不設置默認,並且返回已經有的值 # info_dic.setdefault(‘hobbies‘,[1,2]) # print(info_dic) # info_dic.setdefault(‘hobbies‘,[1,2,3,4,5]) # print(info_dic) # info_dic={‘name‘:‘haiyan‘,‘age‘:18,‘sex‘:‘male‘} # {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘,‘hobbies‘:[‘study‘]} # info_dic.setdefault(‘hobbies‘,[]).append(‘study‘) # {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘,‘hobbies‘:[‘study‘,‘read‘]} # info_dic.setdefault(‘hobbies‘,[]).append(‘read‘) # {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘,‘hobbies‘:[‘study‘,‘read‘,‘sleep‘]} # info_dic.setdefault(‘hobbies‘,[]).append(‘sleep‘) # l=info_dic.setdefault(‘hobbies‘,[]) # print(l,id(l)) # print(id(info_dic[‘hobbies‘])) # print(info_dic) #了解 # d=info_dic.copy() # print(d) # info_dic.clear() # print(info_dic) # d=info_dic.fromkeys((‘name‘,‘age‘,‘sex‘),None) # print(d) # d1=dict.fromkeys((‘name‘,‘age‘,‘sex‘),None) # d2=dict.fromkeys((‘name‘,‘age‘,‘sex‘),(‘egon‘,18,‘male‘)) # print(d1) # print(d2) # info=dict(name=‘haiyan‘,age=18,sex=‘male‘) # print(info) # # info=di
集合set
一、集合的作用
知識點回顧:可變類型是不可hash類型,不可變類型是可hash類型
作用:去重,關系運算
定義:可以包含多個元素,用逗號分割,集合的元素遵循三個原則:
1.每個元素必須是不可變類型(可hash,可作為字典的key)
2.沒有重復的元素
4.無序
註意集合的目的是將不同的值存放在一起,不同的集合間用來做關系運算,無需糾結集合中的單個值
二、常用方法
in 和 not in
|並集(print(pythons.union(linuxs)))
&交集(print(pythons.intersection(linuxs)))
-差集(print(pythons.difference(linuxs)))
^對稱差集(print(pythons.symmetric_difference(linuxs)))
==
>,>= ,<,<= 父集(issuperset),子集(issuberset)
+ View Code?
1 2 3 4 5 6 7 8 9 10 11 12 |
>,> = ,<,< =
set1 = { 1 , 2 , 3 , 4 , 5 }
set2 = { 1 , 2 , 3 , 4 }
print (set1 > = set2)
print (set1.issuperset(set2))
set1 = { 1 , 2 , 3 , 4 , 5 }
set2 = { 1 , 2 , 3 }
print (set1< = set2)
print (set1.issubset(set2))
|
三、練習
一.關系運算+ View Code?
有如下兩個集合,pythons是報名python課程的學員名字集合,linuxs是報名linux課程的學員名字集合
pythons={‘alex‘,‘egon‘,‘yuanhao‘,‘wupeiqi‘,‘gangdan‘,‘biubiu‘}
linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘}
1. 求出即報名python又報名linux課程的學員名字集合
2. 求出所有報名的學生名字集合
3. 求出只報名python課程的學員名字
4. 求出沒有同時這兩門課程的學員名字集合
1 2 3 |
pythons = { ‘haiyan‘ , ‘fank‘ , ‘yaling‘ , ‘lalal‘ , ‘haidong‘ , ‘biubiu‘ }
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
# 1. 求出即報名python又報名linux課程的學員名字集合
|
1 2 |
pythons = { ‘haiyan‘ , ‘fank‘ , ‘yaling‘ , ‘lalal‘ , ‘haidong‘ , ‘biubiu‘ }
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
|
1 2 |
print (pythons & linuxs)
# 2. 求出所有報名的學生名字集合
|
1 2 |
pythons = { ‘haiyan‘ , ‘fank‘ , ‘yaling‘ , ‘lalal‘ , ‘haidong‘ , ‘biubiu‘ }
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
|
1 2 |
print (pythons | linuxs)
# 3. 求出只報名python課程的學員名字
|
1 2 |
pythons = { ‘haiyan‘ , ‘fank‘ , ‘yaling‘ , ‘lalal‘ , ‘haidong‘ , ‘biubiu‘ }
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
|
1 2 |
print (pythons - linuxs)
# 4. 求出沒有同時這兩門課程的學員名字集合
|
1 2 |
pythons = { ‘haiyan‘ , ‘fank‘ , ‘yaling‘ , ‘lalal‘ , ‘haidong‘ , ‘biubiu‘ }
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
|
1 |
print (pythons ^ linuxs)
|
四、方法
+ View Code?1 |
# ========掌握部分=======
|
1 |
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
|
1 2 3 4 5 |
linuxs.add( ‘xiaoxiao‘ ) #說明set類型的集合是可變類型
linuxs.add([ 1 , 2 , 3 ]) #報錯,只能添加不可變類型
print (linuxs)
# 2.
|
1 |
linuxs = { ‘six‘ , ‘wu‘ , ‘dabao‘ }
|
Python學習【第2篇】:Python之數據類型(2)