溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python3的Dict怎么使用

發(fā)布時間:2022-10-11 11:50:58 來源:億速云 閱讀:158 作者:iii 欄目:web開發(fā)

本篇內(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)

二 支持 for 語句的遍歷

Python3的Dict怎么使用

  • 輸出所有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對分別單獨輸出

三 增刪改查

Python3的Dict怎么使用

  • 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ì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI