您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Python3的Dict怎么使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
類名:dict
定義:{ key: value, key1: value1, ... }
key:字符、布爾、元祖、數(shù)字。(原則上是不可變類型)
value:任意數(shù)據(jù)類型
示例:var = { 1:111, 'a':'python', (1,2):[222,333,'abc'] }
存儲原理:哈希結(jié)構(gòu)
元素存儲是無序(可通過多次print觀察結(jié)構(gòu)),且不支持切片功能。
可變類型(變量地址不變,其值可變)
常用方法
keys(),values(),items()
get( key [,'default'] ), pop(key [, 'default']), update(key:value)
輸出所有key【鍵】(方法:keys())
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} for item in dt: print(item)
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} for item in dt.keys(): print(item)
輸出所有value【值】(方法:values())
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} for item in dt.values(): print(item)
同時輸出所有 key 及 value(方法:items())
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} for item in dt.items(): print(item) # 每個kv對都以元祖數(shù)據(jù)類型輸出,如:(True,1)
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} for k, v in dt.items(): print('key:', k, 'value:', v) # 每個kv對分別單獨輸出
查
get(key [, value ] ),若該元素不存在,則不會報錯
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} print(dt.get(('name', 14,))) # 該方法,若key不存在,返回none print(dt.get('tony', 'hello')) # 若key不存在,則返回 hello
下標,若該元素不存在,則報錯。
dt = {True: 1, 'name': 'elsa', 14: 'age', ('name', 14): 'elsa'} print(dt[True])
嵌套獲取
dt = { 'elsa': { 'age': 18, 'school': [ ('中山小學(xué)', '2班'), ['文化初中', '5班'], {'一中': '1班'} ] } , 'tony': { 'age': 18, 'school': [ ('惠典小學(xué)', '7班'), ['附中初中', '9班'], {'一中': '1班'} ] } } print(dt['elsa']['school'][2]['一中']) print(dt.get('elsa').get('school')[2].get('一中')) # 獲取層級對應(yīng)的數(shù)據(jù)類型,并使用對應(yīng)的方式
增
setdefault( key , value ),元素存在則不無修改。
dt = {'elsa': 16, 'tony': 15} v = dt.setdefault('kate', 20) # 新增元素,返回新key的value v1 = dt.setdefault('elsa', 22) # 若key存在,則返回已存在key的value print(dt, v, v1)
dt = {'elsa': 16, 'tony': 15} dt['tom'] = 20 print(dt) # {'elsa': 16, 'tony': 15, 'tom': 20}
修改
update( {key:value , key1:value , ... } | key=value , key2=value2 , ... ) ,若元素不存在,則添加該元素
dt = {'elsa': 16, 'tony': 15} dt.update({'elsa': 17, 'tony': 18}) print(dt) dt.update(tom=17, kate=19,elsa=15) print(dt) # 新增 tom、kate,并修改 elsa
dt = {'elsa': 16, 'tony': 15} dt['elsa'] = 20 print(dt) # {'elsa': 20, 'tony': 15}
刪除
pop( key [, 返回值] ),若key不存在,則返回自定義值
dt = {'elsa': 16, 'tony': 15} v = dt.pop('elsa') # 返回該key的 v1 = dt.pop('tom', 'The user does not exist') print(dt, v, v1)
del 命令
dt = {'elsa': 16, 'tony': 15} del dt['tony'] print(dt) # {'elsa': 16}
popitem(),隨機刪除一個元素,以元祖返回該元素的key、value
dt = {'elsa': 16, 'tony': 15, 'tom': 17,'kate':18,'mary':15} k, v = dt.popitem() v1 = dt.popitem() print(dt, k, v, v1)
“Python3的Dict怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。