最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python映射類型之dict詳解

 更新時(shí)間:2022年03月15日 10:19:51   作者:安瀾仙王  
這篇文章主要為大家詳細(xì)介紹了Python映射類型之dict,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

映射類型 — dict

字典可用多種方式來創(chuàng)建:

  • 使用花括號(hào)內(nèi)以逗號(hào)分隔鍵: 值對(duì)的方式: {‘jack’: 4098, ‘sjoerd’: 4127} or {4098:‘jack’, 4127: ‘sjoerd’}
  • 使用字典推導(dǎo)式: {}, {x: x ** 2 for x in range(10)}
dict_a = {key: value for key in 'python' for value in range(2)}
list_phone = [('HUAWEI', '華為'), ('MI', '小米'), ('OPPO', 'OPPO'), ('VIVO', 'VIVO')]
dict_c = {key: value for key, value in list_phone}
  • 使用類型構(gòu)造器: dict(), dict([(‘foo’, 100), (‘bar’, 200)]), dict(foo=100,bar=200)

字典所支持的操作:

list(d)

返回字典d 中使用的所有鍵的列表

len(d)

返回字典d 中的項(xiàng)數(shù)

d[key]

返回d 中以key 為鍵的項(xiàng)。如果映射中不存在key 則會(huì)引發(fā)KeyError。

如果字典的子類定義了方法__missing__() 并且key 不存在,則d[key] 操作將調(diào)用該方法并附帶鍵key 作為參數(shù)。d[key] 隨后將返回或引發(fā)__missing__(key) 調(diào)用所返回或引發(fā)的任何對(duì)象或異常。沒有其他操作或方法會(huì)發(fā)起調(diào)用__missing__()。如果未定義__missing__(),則會(huì)引發(fā)KeyError。missing() 必須是一個(gè)方法;它不能是一個(gè)實(shí)例變量:

>>> class Counter(dict):
... def __missing__(self, key):
... return 0
>>> c = Counter()
>>> c['red']
0
>>> c['red'] += 1
>>> c['red']
1

上面的例子顯示了collections.Counter 實(shí)現(xiàn)的部分代碼。還有另一個(gè)不同的__missing__方法是由collections.defaultdict 所使用的。

d[key] = value

將d[key]設(shè)為value。

del d[key]

將d[key] 從d中移除。如果映射中不存在key 則會(huì)引發(fā)KeyError。

key in d

如果d中存在鍵key 則返回True,否則返回False。

iter(d)

返回以字典的鍵為元素的迭代器。這是iter(d.keys()) 的快捷方式。

clear()

移除字典中的所有元素。

copy()

返回原字典的淺拷貝

深copy

若你想徹底使2個(gè)dict完全獨(dú)立,無論有多少層數(shù)據(jù)。那就要用python工具包里的一個(gè)工具了

import copy
data = {
    "name":"alex",
    "age":18,
    "scores":{
        "語文":130,
        "數(shù)學(xué)":60,
        "英語":98,
    }
}
d2 = data.copy()
d3 =copy.deepcopy(data)
d3["scores"]["語文"] = 149
print(d3)
print(data)

classmethod fromkeys(iterable[, value ]) fromkeys()

函數(shù)用于創(chuàng)建一個(gè)新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對(duì)應(yīng)的初始值

seq = ('Google', 'Runoob', 'Taobao')
thisdict = dict.fromkeys(seq)
print "新字典為 : %s" %  str(dict)
thisdict = dict.fromkeys(seq, 10)
print "新字典為 : %s" %  str(thisdict)
"""
新的字典為 : {'age': None, 'name': None, 'sex': None}
新的字典為 : {'age': 10, 'name': 10, 'sex': 10}
"""

get(key[, default ])

如果key 存在于字典中則返回key 的值,否則返回default。如果default 未給出則默認(rèn)為None,因而此方法絕不會(huì)引發(fā)KeyError。

items()

  • 以列表返回視圖對(duì)象,是一個(gè)可遍歷的key/value對(duì)
  • dict.keys()、dict.values()dict.items() 返回的都是視圖對(duì)象( view objects),提供了字典實(shí)體的動(dòng)態(tài)視圖,這就意味著字典改變,視圖也會(huì)跟著變化
tinydict = {'Name': 'Runoob', 'Age': 7}
print ("Value : %s" %  tinydict.items()) # Value : dict_items([('Age', 7), ('Name', 'Runoob')])

keys()

返回由字典鍵組成的一個(gè)新視圖

dict.keys()、dict.values() dict.items() 返回的都是視圖對(duì)象( view objects),提供了字典實(shí)體的動(dòng)態(tài)視圖,這就意味著字典改變,視圖也會(huì)跟著變化

a = {"a": 3, "b": 2}
print(a.keys()) # <class 'dict_keys'>

pop(key[, default ])

刪除字典給定鍵 key 所對(duì)應(yīng)的值,返回值為被刪除的值。

site= {'name': '菜鳥教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('name')
print('刪除的元素為:', element)
print('字典為:', site)
"""
刪除的元素為: 菜鳥教程
字典為: {'alexa': 10000, 'url': 'www.runoob.com'}
"""

popitem()

  • popitem() 方法隨機(jī)返回并刪除字典中的最后一對(duì)鍵和值。
  • 如果字典已經(jīng)為空,卻調(diào)用了此方法,就報(bào)出KeyError異常。
  • 返回一個(gè)鍵值對(duì)(key,value)形式,按照 LIFO(Last In First Out后進(jìn)先出法)順序規(guī)則,即最末尾的鍵值對(duì)。
site= {'name': '菜鳥教程', 'alexa': 10000, 'url': 'www.runoob.com'}
pop_obj=site.popitem()
print(pop_obj)  
print(site)

reversed(d)

返回一個(gè)逆序獲取字典鍵的迭代器。這是reversed(d.keys()) 的快捷方式

setdefault(key[, default ])

setdefault() 方法和 get()方法 類似, 如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為默認(rèn)值。

tinydict = {'Name': 'Runoob', 'Age': 7}
print ("Age 鍵的值為 : %s" %  tinydict.setdefault('Age', None))
print ("Sex 鍵的值為 : %s" %  tinydict.setdefault('Sex', None))
print ("新字典為:", tinydict)

update([other ])

update() 函數(shù)把字典參數(shù) dict2 的 key/value(鍵/值) 對(duì)更新到字典 dict 里

tinydict = {'Name': 'Runoob', 'Age': 7}
tinydict2 = {'Sex': 'female' }
tinydict.update(tinydict2)
print ("更新字典 tinydict : ", tinydict)

values()

返回一個(gè)視圖對(duì)象,dict.keys()、dict.values() 和 dict.items() 返回的都是視圖對(duì)象( view objects),提供了字典實(shí)體的動(dòng)態(tài)視圖,這就意味著字典改變,視圖也會(huì)跟著變化

a = {"a": 3, "b": 2}
print(a.values()) # dict_values([3, 2])

d | other

合并d 和other 中的鍵和值來創(chuàng)建一個(gè)新的字典,兩者必須都是字典。當(dāng)d 和other 有相同鍵時(shí),other 的值優(yōu)先。3.9才支持

a = {"apple": 3, "banana": 4}b = {"grape": 5, "banana": 8}print(a | b)

d |= other

  • 用other 的鍵和值更新字典d ,other 可以是mapping 或iterable 的鍵值對(duì)。當(dāng)d 和other 有相同鍵時(shí),other 的值優(yōu)先。
  • 3.9 新版功能
a = {"one": 1, "two": 2, "three": 3}
a |= {"three": 30, "four": 4, "five": 5}
print(a)
a = {"apple": 3, "banana": 4}
b = {"grape": 5, "banana": 8}
a |= b
print(a)
"""
{'one': 1, 'two': 2, 'three': 30, 'four': 4, 'five': 5}
{'apple': 3, 'banana': 8, 'grape': 5}
"""

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • Python中創(chuàng)建二維數(shù)組

    Python中創(chuàng)建二維數(shù)組

    今天小編就為大家分享一篇關(guān)于Python中創(chuàng)建二維數(shù)組,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • pandas中的DataFrame數(shù)據(jù)遍歷解讀

    pandas中的DataFrame數(shù)據(jù)遍歷解讀

    這篇文章主要介紹了pandas中的DataFrame數(shù)據(jù)遍歷解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Vim及其用于Python的自動(dòng)補(bǔ)全功能

    Vim及其用于Python的自動(dòng)補(bǔ)全功能

    Vim是一款功能強(qiáng)大的文本編輯器,常被作為Python開發(fā)環(huán)境的首選,這篇文章主要介紹了用于?Python?的?Vim?自動(dòng)完成,需要的朋友可以參考下
    2023-09-09
  • django執(zhí)行數(shù)據(jù)庫查詢之后實(shí)現(xiàn)返回的結(jié)果集轉(zhuǎn)json

    django執(zhí)行數(shù)據(jù)庫查詢之后實(shí)現(xiàn)返回的結(jié)果集轉(zhuǎn)json

    這篇文章主要介紹了django執(zhí)行數(shù)據(jù)庫查詢之后實(shí)現(xiàn)返回的結(jié)果集轉(zhuǎn)json,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息

    Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息

    Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個(gè)工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹唵危圆恍枰嗌俅a就可以寫出一個(gè)完整的應(yīng)用程序
    2021-10-10
  • 在Linux系統(tǒng)上安裝Python的Scrapy框架的教程

    在Linux系統(tǒng)上安裝Python的Scrapy框架的教程

    這篇文章主要介紹了在Linux系統(tǒng)上安裝Python的Scrapy框架的教程,Scrapy是著名的專門針對(duì)搜索引擎的爬蟲制作而研發(fā)的Python框架,需要的朋友可以參考下
    2015-06-06
  • 淺談對(duì)yield的初步理解

    淺談對(duì)yield的初步理解

    下面小編就為大家?guī)硪黄獪\談對(duì)yield的初步理解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • pytorch 中pad函數(shù)toch.nn.functional.pad()的用法

    pytorch 中pad函數(shù)toch.nn.functional.pad()的用法

    今天小編就為大家分享一篇pytorch 中pad函數(shù)toch.nn.functional.pad()的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pytorch中如何設(shè)置隨機(jī)種子

    pytorch中如何設(shè)置隨機(jī)種子

    這篇文章主要介紹了pytorch中如何設(shè)置隨機(jī)種子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 關(guān)于nn.BatchNorm1d()用法及說明

    關(guān)于nn.BatchNorm1d()用法及說明

    這篇文章主要介紹了關(guān)于nn.BatchNorm1d()用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

财经| 浠水县| 昌图县| 榕江县| 漳州市| 石门县| 上饶市| 丹江口市| 阿合奇县| 岳普湖县| 崇文区| 敦化市| 郑州市| 萍乡市| 涟源市| 禹州市| 靖宇县| 宿迁市| 柳林县| 托里县| 唐河县| 大连市| 尼勒克县| 凭祥市| 桐乡市| 康定县| 滦南县| 阳山县| 牟定县| 长丰县| 林周县| 香河县| 株洲市| 仲巴县| 克东县| 英山县| 琼中| 恩施市| 广南县| 青海省| 阜新市|