1. 程式人生 > >元組,字典,集合,布林值

元組,字典,集合,布林值

一:元組型別:
定義:元組是不可變的列表,有序,存多個值
定義方式:在()中用逗號將不同的任意型別的元素分隔開就叫元組,如果元組中只有一個元素,後面必須加逗號。
資料型別轉換:s='hello'
print(tuple(s))=('h','e','l','l','o')
3、常用操作+內建的方法
3.1 優先掌握的操作:
1、按索引取值(正向取+反向取):只能取
t=('a','b','c')
t[0]='A'#False
2、切片(顧頭不顧尾,步長)
t=('a','b','c')
print(t[0:2])
3、長度
print(len(t))
4、成員運算in和not in
t=('a','b','c',(1,2,3))
print((1,2,3) in t)
5、迴圈
t=('a','b','c',(1,2,3))
for item in t:
print(item)
3.2 需要掌握的操作
t=('a','b','b','c',(1,2,3))
print(t.count('b'))
print(t.index('b',2,4))
二:字典型別:
1、用途:記錄多個不同屬性的值.可變,無序,存多個值
2、定義方式:在{}內用逗號分隔開多個元素,每一個元素都是key:value的形式.
value可以是任意型別,而key必須是不可變的型別(通常應該是str型別)
資料型別轉換dic=dict(.....)
3.優先掌握的操作:
1.按key取值,可存可取
dic={'name':'egon','age':18,'sex':'male'}
print(dic['name'])
dic['name']='EGON'
dic['height']=1.81#如果字典中有就改變值,沒有就增加key&value
2、長度len
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print(len(dic))=3 #字典的長度計算只計算key值
3、成員運算in和not in # 判斷的是字典的key
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print('name' in dic)=Ture
4、刪除:字典的刪除是選擇key會將與key對應的value一起刪除
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
del dic['name']
print(dic) del刪除沒有返回值

popitem刪除後有返回值 返回的是以元組形式儲存的('key','value')
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
t=dic.popitem()
print(t,type(t))= ('gender','male')(class 'tuple')

pop刪除有返回值,返回的是value
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
v=dic.pop('name')
print(v)
5、鍵keys(),值values(),鍵值對items()在py3中,不會生成列表。比喻成下蛋的母雞,肚子裡有蛋,要一個下一個。py2會生成列表
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
key=dic.keys()
vals=dic.values()
i=dic.items()
print(key,vals,i)
dict_keys(['name', 'age', 'gender'])
dict_values(['egon', 18, 'male'])
dict_items([('name', 'egon'), ('age', 18), ('gender', 'male')])
6、迴圈:
dic = {'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic:
print(k):name 迴圈取出字典會取出字典的key
age
gender
dic = {'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic.values():
print(k):egon 使用values形式能取出來dic的value
18
male
dic = {'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic.items():
print(k):('name', 'egon') 使用items形式取出的就是元組格式的dic的item,
('age', 18)
('gender', 'male')
7. get取值:get取值使用key,如果有,則取出value,否則為空,不會報錯.
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
v=dic.get('xxx')
print(v)=None
4.需要掌握的操作:
4.1dic.fromkeys() 將一個全是key的列表放入一個空字典當key,使用None或者別的資料當value,要使用時再改動.
li=['name','age','gender']
dic={}
dic={}.fromkeys(li,None)
print(dic)
4.2dic.update() 更新字典,將舊字典中與新字典一樣key的值覆蓋掉,沒有的則將key&value加進去
old_dic={'name': 'egon', 'age': 18, 'gender': 'male'}
new_dic={'x':1,'name':'EGON'}
old_dic.update(new_dic)
print(old_dic):{'name': 'EGON', 'age': 18, 'gender': 'male', 'x': 1}
4.3dic.setdefault(key,value):執行完畢後是為了保證字典中必須有這麼一個k,如果沒有就增加進去,返回增加的value。如果有就返回字典中的值
old_dic={'name': 'egon', 'age': 18, 'gender': 'male'}
old_dic.setdefault('height',2)
print(old_dic)={'name': 'egon', 'age': 18, 'gender': 'male', 'height': 2}
print(old_dic.setdefault('height',2))=2

三:集合型別:
1、用途:
1.1:做關係運算
1.2: 去重
2、定義方式:在{}內用逗號分隔開多個元素,多個元素必須滿足以下條件:
2.1 每一個元素必須是不可變型別
2.2 集合內元素不能重複
2.3 集合無序
2.4 d{}預設為字典 s=set{}才是集合
3、常用操作+內建的方法
1、長度len (pythons.intersection(linuxs))
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
print(len(pythons))=6
2、成員運算in和not in
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
print('李鐵蛋' in pythons)=Ture
3、|合集並集 (pythons.union(linuxs))
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王銅蛋'}
print(pythons | linuxs)={'趙銀蛋', 'kevin', '李鐵蛋', '艾利克斯', '王銅蛋', '張全蛋', 'tank', 'egon', 'oldboy'}
4、&交集 (pythons.intersection(linuxs))
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王銅蛋'}
print(pythons & linuxs)={'王銅蛋', '艾利克斯'}
5、-差集(pythons.difference(linuxs))
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王銅蛋'}
print(pythons - linuxs)={'趙銀蛋', 'oldboy', '李鐵蛋', '張全蛋'}
6、^對稱差集(pythons.symmetric_difference(linuxs))
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王銅蛋'}
print(pythons ^ linuxs)={'oldboy', '趙銀蛋', 'tank', '張全蛋', 'kevin', '李鐵蛋', 'egon'}
7、==
pythons={'李鐵蛋','張全蛋','王銅蛋','趙銀蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王銅蛋'}
print(pythons == linuxs)=False
8、父集:>,>=(issuperset)
li={'qqq','www','eee'}
lr={'qqq','www'}
print(li >= lr)=Ture
9、子集:<,<=(issubset)
li={'qqq','www','eee'}
lr={'qqq','www'}
print(li <= lr)=False
四:布林型別:
在條件判斷中所有的資料都會轉換布林值
只需記住布林值為假的資料型別即可:0,None,空