基于python元祖與字典與集合的粗淺認(rèn)識
一,元祖(tuple)
1.元祖是不能修改的,通常寫成圓括號中的一系列項(xiàng),位置有序,固定長度
2.實(shí)際上元祖支持字符串和列表的一般序列操作,“+”,“*”以及分片操作應(yīng)用于元祖時(shí)會返回新的元祖
print((1,2)+(3,4))>>>>(1,2,3,4) print((1,2)*4)>>>>(1,2,1,2,1,2,1,2) T=(1,2,3,4) print(T【0】,T【1:3】)>>>>(1,(2,3))
3.元祖不提供字符串,列表和字典的方法,入股你相對元祖進(jìn)行排序,通常先得把它轉(zhuǎn)換成列表才能獲得使用排序方法的調(diào)用
T=(“z”,"b"."c") tem= list(T) tem.sort() print(tem)>>>> ["b","c","z"] T=tuple(tem) print(T) >>>>("b","c","z")
但是元祖內(nèi)部的列表是可以像往常那樣修改的
T=(1,[2,3],4) T[1].[0] ="ABC" print(T)>>>>>(1,["ABC",3],4)
二.字典(dict)
1.字典是無序的,即你每次查詢的結(jié)果數(shù)據(jù)排序是不一定的,因?yàn)樗鼤r(shí)key-value類型的數(shù)據(jù),不需通過下標(biāo)索引
2.對字典的操作:
D1={} #表示空字典 D2={“spam”:1,"app":2}#兩項(xiàng)目字典 D3={"food":{"spam":1,"egg":2}}#嵌套 D2["app"]#通過鍵進(jìn)行查找 D3["food"]["spam"] "egg" in D3 #判斷egg是否存在在D3中,存在則返回True D2.keys()#查詢key值 D2.values()#查詢value值 D2[key]=44#表示新增或者修改,當(dāng)字典中不存在這個(gè)key則新增,存在則是修改 del D2[key]#刪除
D2 = {"egg",1,"app",2} print(D2["app"]) >>>>>>>2 print(D2) >>>>>>>{"egg",1,"app",2} len(D2) >>>>>>>2#返回的時(shí)keys的列表的長度 合并的方法: D2 = {"egg",1,"app",2} D3 = {"egg",1,"app",2} D2.update(D3) print(D2) >>>>>>>{"egg",1,"app",2,"egg",1,"app",2} pop刪除的方法:能夠刪除字典一個(gè)鍵并返回它的值 D2 = {"egg",1,"app",2} D2.pop(“egg”) >>>>>>>>1 print(D2) >>>>>>>>{"app",2} 另一種創(chuàng)建方法:條件是所有的key的值都是一樣的 dict.fromkeys(["a","b"],0) >>>>>>>>>{"a":0,"b":0}
三.集合(set)
集合是一個(gè)無序的,不重復(fù)的數(shù)據(jù)重合的。主要作用是用于
(1)去重;把一個(gè)列表變成集合,自動去除重復(fù)
(2)關(guān)系測試;測試兩組數(shù)據(jù)之前的交集,并集等關(guān)系
相關(guān)操作
s1= set([1,2,3,4,5,6,7]) s2 = set([2,5,4,6,3,9]) print(s1.intersection(s2))#表示取交集 >>>>>>>>{2,4,5,6,3} print(s1.union(s2))#表示取并集 >>>>>>>>{1,2,3,4,5,6,7,9} print(s1.difference(s2))#表示差集 >>>>>>>>{7,9} print(s1.isdisjiont(s2))#表示s與s2是否有交集 >>>>>>>>True s1.add(10)#添加1個(gè)項(xiàng) s1.update([8,9,10])#添加多個(gè)項(xiàng) s1.remove(1)#刪除一項(xiàng),值為1(指定刪除哪個(gè),沒有指定會報(bào)錯) s1.pop()#隨機(jī)刪除一個(gè)數(shù)
以上這篇基于python元祖與字典與集合的粗淺認(rèn)識就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語言實(shí)現(xiàn)二叉搜索樹的完整總結(jié)
這篇文章主要介紹了C語言實(shí)現(xiàn)二叉搜索樹的完整總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04python使用Flask操作mysql實(shí)現(xiàn)登錄功能
這篇文章主要介紹了python使用Flask操作mysql實(shí)現(xiàn)登錄功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05python?pip?install總是報(bào)錯情況分析及解決辦法
這篇文章主要給大家介紹了關(guān)于python?pip?install總是報(bào)錯情況分析及解決辦法,安裝包時(shí)經(jīng)常遇到報(bào)錯,這里提供兩種方式解決,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信
本文主要介紹了利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信示例代碼,具有很好的參考價(jià)值,需要的朋友一起來看下吧2016-12-12Python 模擬動態(tài)產(chǎn)生字母驗(yàn)證碼圖片功能
這篇文章主要介紹了Python 模擬動態(tài)產(chǎn)生字母驗(yàn)證碼圖片,這里給大家介紹了pillow模塊的使用,需要的朋友可以參考下2019-12-12python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01python opencv設(shè)置攝像頭分辨率以及各個(gè)參數(shù)的方法
下面小編就為大家分享一篇python opencv設(shè)置攝像頭分辨率以及各個(gè)參數(shù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04python3 小數(shù)位的四舍五入(用兩種方法解決round 遇5不進(jìn))
這篇文章主要介紹了python3 小數(shù)位的四舍五入(用兩種方法解決round 遇5不進(jìn)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04