精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

九個(gè)令人相見(jiàn)恨晚的Python字典技巧,讓你寫出更優(yōu)雅、更Pythonic的代碼!

開(kāi)發(fā) 前端
今天筆者將向大家分享9個(gè)令人相見(jiàn)恨晚的Python字典技巧,讓你更優(yōu)雅高效地處理字典,寫出更加Pythonic的代碼。

今天筆者將向大家分享9個(gè)令人相見(jiàn)恨晚的Python字典技巧,讓你更優(yōu)雅高效地處理字典,寫出更加Pythonic的代碼。

1. 使用 dict(key=value) 創(chuàng)建字典

通常,我們通過(guò)以下方式創(chuàng)建字典:

test_dict: dict = {'name': 'Jack Zhang', 'age': 23, 'city': 'San Francisco'}

但是我常用的是 dict(key=value) 的方式:

test_dict2: dict = dict(name='Jack Zhang', age=23, city='San Francisco')

這樣做的好處是:當(dāng)使用 {} 創(chuàng)建字典時(shí),對(duì)于字符串鍵,我們需要輸入引號(hào)符。如果處理的鍵很多,那么就需要輸入更多的引號(hào)符,這不僅效率低下,而且還很無(wú)聊。而使用 dict(key=value) 方式,則不需要輸入引號(hào)符,省去了我們很多無(wú)聊的工作,并且代碼更簡(jiǎn)潔。

當(dāng)然,dict(key=value) 方式不適用于非字符串鍵,因此這兩種方式都有各自的用途,根據(jù)需求選擇最合適的方式即可。

2. 使用 ** 合并字典

dict1: dict = dict(name='Jack Zhang', age=23)
dict2: dict = dict(city='San Francisco', major='Software Engineering')
com_dict: dict = {**test_dict, **test_dict2}
print(f'com_dict: {com_dict}')
# com_dict: {'name': 'Jack Zhang', 'age': 23, 'city': 'San Francisco'}

字典前面的 ** 符號(hào)用于將鍵值對(duì)解包到目標(biāo)字典中。

3. 使用 ** 將字典作為參數(shù)傳遞

def personal_info(name: str, age: int, city: str) -> None:
    print(f'Name: {name}, Age: {age}, City: {city}')

personal_info(name='Jack Zhang', age=23, city='San Francisco')
# Name: Jack Zhang, Age: 23, City: San Francisco

當(dāng)然,我們也可以動(dòng)態(tài)地將包含鍵 name, age 和 city 的字典傳遞給函數(shù):

personal_info(**test_dict)
# Name: Jack Zhang, Age: 23, City: San Francisco

字典前面的 ** 可以將字典的鍵值解包到函數(shù) personal_info 中。如果我們想要?jiǎng)討B(tài)地將關(guān)鍵字參數(shù)傳遞到函數(shù)中,這種方式很有用。

4. 字典推導(dǎo)式

假設(shè)我們想要?jiǎng)?chuàng)建字典:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

有兩種方式:

  • ① 常規(guī)方式——循環(huán)實(shí)現(xiàn):
num_pow: dict = {}
for num in range(1, 6):
    num_pow[num] = num ** 2
print(f'num_pow: {num_pow}')
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
  • ② 字典推導(dǎo)式實(shí)現(xiàn):
num_pow2: dict = {num: num ** 2 for num in range(1, 6)}
print(f'num_pow2: {num_pow2}')
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

雖然兩種方式都是正確且合法的方式,但請(qǐng)注意,字典推導(dǎo)式更加優(yōu)雅、Pythonic 且可讀性更強(qiáng)。

5. get(key, default_value) 獲取字典值

通常情況下,當(dāng)我們?cè)L問(wèn)一個(gè)不存在的鍵時(shí),會(huì)得到 KeyError:

test_dict: dict = dict(name='Jack Zhang', age=23, city='San Francisco')
print(f"zipcode: {test_dict['zipcode']}")
# KeyError: 'zipcode'

如果我們不希望出現(xiàn) KeyError,那么可以使用 get() 方法,如果鍵不存在,該方法會(huì)返回 None:

print(f"zipcode: {test_dict.get('zipcode')}") # None

這個(gè)時(shí)候,我們就不會(huì)得到 KeyError,而是 None。此外,我們還可以設(shè)置默認(rèn)值(如果鍵不存在):

print(f"zipcode: {test_dict.get('zipcode', '110110')}")
# zipcode: 110110

6. 根據(jù)元組列表創(chuàng)建字典

lst_of_tuple: list[tuple[str, str]] = [('Jack Zhang', 'Male'), ('John', 'Male'), ('Elina', 'Female')]
people_dict: dict = dict(lst_of_tuple)
print(f'Personal informaiton: {people_dict}')
# Personal informaiton: {'Jack Zhang': 'Male', 'John': 'Male', 'Elina': 'Female'}

在實(shí)際項(xiàng)目中,如果需要通過(guò)上下文的元組列表創(chuàng)建字典,這種方式就非常有用。

7. values() 和 items() 方法

一般情況下,當(dāng)我們遍歷字典本身時(shí),我們得到的是字典的所有鍵:

for name in people_dict:
    print(f'name: {name}')
# name: Jack Zhang
# name: John
# name: Elina

這等價(jià)于 .keys() 方法:

for name in people_dict.keys():
    print(f'name: {name}')
# name: Jack Zhang
# name: John
# name: Elina

如果我們使用 .values() 方法,我們將生成字典的所有值:

for gender in people_dict.values():
    print(f'gender: {gender}')
# gender: Male
# gender: Male
# gender: Female

然而,如果我們想要同時(shí)獲取字典的鍵值對(duì),則可以使用 .items() 方法:

for name, gender in people_dict.items():
    print(f'name: {name}; gender: {gender}')
# name: Jack Zhang; gender: Male
# name: John; gender: Male
# name: Elina; gender: Female

8. setdefault() 方法

前面我們提到使用 get() 方法訪問(wèn)不存在的字典鍵時(shí),不會(huì)得到 KeyError。其實(shí),還有另外一種方法 setdefault() 可以達(dá)到相同的目的。與前者的區(qū)別在于,setdefault() 方法還可以動(dòng)態(tài)修改字典,即當(dāng)字典鍵不存在時(shí),會(huì)向字典中增加新的鍵值對(duì)。

print(f'zipcode: {test_dict.get("zipcode", "110110")}')
print(test_dict)
print(f'zipcode: {test_dict.setdefault("zipcode", "110110")}')
print(test_dict)

使用 setdefault() 方法,我們可以輕易實(shí)現(xiàn)字符計(jì)數(shù):

info: str = 'Python is a very powerful programming language!'
char_count: dict = dict()
for char in info:
    char_count[char] = char_count.setdefault(char, 0) + 1
print(char_count)
# {'P': 1, 'y': 2, 't': 1, 'h': 1, 'o': 3, 'n': 3, ' ': 6, 'i': 2, 's': 1, 'a': 4, 'v': 1, 'e': 3, 'r': 4, 'p': 2, 'w': 1, 'f': 1, 'u': 2, 'l': 2, 'g': 4, 'm': 2, '!': 1}

9. 可以作為字典鍵以及不能作為鍵的數(shù)據(jù)類型

通常:

  • 不可變數(shù)據(jù)類型可以作為字典鍵,比如:int, str, tuple, bool。
  • 可變數(shù)據(jù)類型則不可以作為字典鍵,比如:list, dict。

結(jié)論

今天的分享就到這啦!感謝你的閱讀,希望本文對(duì)你能有所幫助!

責(zé)任編輯:華軒 來(lái)源: 數(shù)據(jù)派探險(xiǎn)家
相關(guān)推薦

2021-04-14 09:22:18

Python技巧交換變量值

2020-05-07 09:02:55

代碼Python開(kāi)發(fā)

2024-08-22 08:57:32

Python技巧參數(shù)

2017-06-01 09:34:55

R語(yǔ)言包sqldf

2021-09-28 14:40:03

Python內(nèi)置庫(kù)itertools

2024-01-29 00:51:39

前端開(kāi)發(fā)利器

2018-01-25 14:53:20

iPhone技巧刪除照片

2015-10-27 10:12:21

r語(yǔ)言命令相見(jiàn)恨晚

2024-09-05 16:02:52

Python數(shù)據(jù)類型字符串

2021-04-20 10:47:59

手機(jī)APP科技

2016-12-09 12:50:36

Android

2019-08-09 14:13:22

Python知乎程序員

2020-05-06 09:18:56

Pandas函數(shù)大數(shù)據(jù)技術(shù)

2020-04-01 14:16:05

Pandastips數(shù)據(jù)分析

2021-08-20 15:43:54

iPhone手機(jī)iOS

2018-02-07 14:54:17

Riverbed應(yīng)用性能管理數(shù)字體驗(yàn)

2021-08-19 15:02:32

科技軟件電腦

2019-12-02 10:16:45

Linux 開(kāi)源操作系統(tǒng)

2020-11-23 21:23:34

辦公

2019-08-29 09:10:11

Linux命令編程語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

seseavlu视频在线| 成人羞羞视频在线看网址| 欧美一级大片在线视频| 极品少妇一区二区| 亚洲欧美精品一区二区| 成人黄色网免费| 野花社区视频在线观看| 99久久久无码国产精品免费| 亚洲国产欧美日韩在线观看第一区| 亚洲三级视频在线观看| 国产精品美女主播| brazzers精品成人一区| 国产美女精品写真福利视频| 国产精品综合二区| 日韩视频在线免费| 天堂视频免费看| 丁香婷婷在线观看| 视频在线观看一区二区三区| 精品视频一区在线视频| 久久国产精品视频在线观看| www.色婷婷.com| 午夜久久99| 日韩精品一区二| 欧美激情亚洲天堂| 亚洲av无码国产精品久久不卡| 欧美一区二区三区另类 | 91九色鹿精品国产综合久久香蕉| 久久久久久亚洲综合影院红桃| 韩国精品久久久999| 久久性爱视频网站| 24小时免费看片在线观看| 盗摄精品av一区二区三区| 欧美精品激情在线| 久久久久久久无码| 香蕉伊大人中文在线观看| gogo大胆日本视频一区| 欧美一级在线亚洲天堂| 少妇av片在线观看| 456亚洲精品成人影院| 欧美激情一区二区三区全黄| 国产玖玖精品视频| 中文字幕在线观看2018| 亚洲精品不卡在线观看| 欧美色窝79yyyycom| 在线观看视频黄色| 性一交一乱一透一a级| 日本aⅴ精品一区二区三区| 日韩在线视频中文字幕| 国产精品探花在线播放| 国产又色又爽又黄刺激在线视频| 成人综合婷婷国产精品久久蜜臀| 国产在线高清精品| 精品无码av在线| 亚洲精品无吗| 亚洲精品久久久一区二区三区| 精品无码一区二区三区爱欲| 免费一级毛片在线观看| 蜜臀av性久久久久蜜臀aⅴ | 在线观看av中文字幕| 韩国三级大全久久网站| 欧美一区二区高清| 国产3p露脸普通话对白| 男女在线视频| 国产片一区二区三区| 欧美日韩一区二区视频在线| 一级日韩一级欧美| 亚洲无吗在线| 一区二区三区在线播放欧美| 亚洲成a人无码| 欧美片第一页| 一区二区欧美在线观看| 欧美一级日本a级v片| 国产精品九九九九| 亚洲欧美春色| 欧美成人午夜视频| 亚洲图片另类小说| 亚洲一区二区三区四区电影| 欧美xfplay| 亚洲一级免费在线观看| 国产剧情av在线播放| 天天亚洲美女在线视频| 国产又粗又爽又黄的视频| 亚洲三级中文字幕| 国产精品一区免费在线观看| 成人av片网址| 亚洲一区 中文字幕| 国产精品毛片在线| 欧美精品videos另类日本| 日韩精品久久久久久久酒店| 91精品国产福利在线观看麻豆| 国产视频丨精品|在线观看| 91中文字幕永久在线| 精品国产网站| 亚洲人成五月天| 99久久免费看精品国产一区| 涩涩屋成人免费视频软件| 亚洲国产精品推荐| 精品人妻无码一区二区三区| 99久久婷婷这里只有精品 | 亚洲精品a级片| 欧美激情乱人伦一区| 日本黄色免费片| 国产剧情在线观看一区| 亚洲精品国产欧美| 人人艹在线视频| 经典一区二区| 欧美大码xxxx| 国产免费www| 亚洲资源av| 国产一区视频在线播放| 少妇人妻一区二区| 成人精品免费网站| 超碰97国产在线| 黄色av免费在线观看| 91色综合久久久久婷婷| 精品国产一区二区三区日日嗨| 国产 欧美 自拍| 国产成人免费av在线| 91香蕉嫩草影院入口| 国产又粗又黄又爽的视频| 成人黄页在线观看| 精品一区二区三区毛片| 在线免费av导航| 亚洲精品成人悠悠色影视| 免费的av在线| 超碰超碰在线| 亚洲精品国产a久久久久久| 成人在线看视频| av在线不卡精品| 欧美三电影在线| 国产福利在线观看视频| 欧美久久一级| 欧美制服第一页| 波多野结衣人妻| 成人av网在线| 欧美高清中文字幕| 国色天香久久精品国产一区| 爽爽爽爽爽爽爽成人免费观看| 日韩特级黄色片| 日本中文字幕不卡| 久久riav| √新版天堂资源在线资源| 中文字幕在线一区| 国产精品va在线观看无码| 黄色成人小视频| 欧美一区二区黄色| 免费看特级毛片| 久久精品国产秦先生| av一区观看| 国产在线观看免费麻豆| 午夜影院在线观看欧美| 亚洲视频在线a| 九九99久久精品在免费线bt| 日韩中文有码在线视频| 欧美在线视频精品| 国产福利一区二区三区视频在线 | 国产精品自拍网| 第三区美女视频在线| 在线观看亚洲精品| 日本亚洲一区二区三区| 欧美男人操女人视频| 少妇高潮 亚洲精品| 国产成人自拍偷拍| 中文字幕成人在线观看| 4444亚洲人成无码网在线观看| 国产精品毛片aⅴ一区二区三区| 日韩大片在线观看视频| 日韩字幕在线观看| www国产精品av| 国产淫片av片久久久久久| 九九久久精品| 欧美夫妻性视频| 黑人精品一区二区三区| 婷婷中文字幕综合| 国产全是老熟女太爽了| 日韩福利视频导航| 国产精品伊人日日| 日本在线免费| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 欧美色图校园春色| 亚洲人成精品久久久| 国产97在线|亚洲| 亚洲精品一区二区三区新线路| 亚洲资源中文字幕| 亚洲黄色在线网站| 乱一区二区av| 欧美大黑帍在线播放| 日韩av三区| 国产精品一区二区三区毛片淫片| www在线免费观看视频| 欧美精品一区二区三区视频| 2017亚洲天堂| 国产成人啪午夜精品网站男同| 日韩欧美不卡在线| 成人一区而且| 国产精品xxx在线观看www| 国产在线观看91| 亚洲精品电影网在线观看| 一级片在线免费播放| 亚洲靠逼com| 不用播放器的免费av| 第一sis亚洲原创| 福利精品视频| www成人在线视频| 欧美第一页在线| 国产人成在线观看| 精品日韩在线一区| 在线免费观看高清视频| 亚洲 欧美综合在线网络| 免费看的黄色录像| 日本少妇一区二区| 日韩美女爱爱视频| 风间由美性色一区二区三区四区| 九九九久久久久久| 午夜老司机福利| 日本高清视频一区二区| 国产中文字幕一区二区| 精品中文av资源站在线观看| 最新中文字幕久久| 国产欧美日韩免费观看| 国产精品我不卡| 亚洲精品成a人ⅴ香蕉片| 久久精品小视频| av资源免费看| 亚洲一区电影777| 波多野结衣先锋影音| 国产精品一区二区x88av| 日韩一级片播放| 99国产成+人+综合+亚洲欧美| 国产欧美一区二区三区不卡高清| 99re6在线精品视频免费播放| 色吧影院999| 国产小视频免费在线观看| 亚洲精品理论电影| 日本高清视频免费看| 亚洲国产一区二区三区青草影视| 在线看片中文字幕| 国产精品一二三在| 国产又黄又猛的视频| 青青草国产精品亚洲专区无| aa免费在线观看| 成人3d动漫在线观看| 免费在线成人av电影| 精品国产黄a∨片高清在线| 热久久这里只有| 日本乱码一区二区三区不卡| 在线视频欧美性高潮| 国产美女免费看| 欧美日本国产一区| 久草精品视频在线观看| 久久久久久免费毛片精品| 91精品国产自产| 久久久国产午夜精品| 亚洲人成人无码网www国产| 91啦中文在线观看| 四虎永久免费在线观看| 久久久99精品久久| 人妻熟人中文字幕一区二区| 国产精品无码永久免费888| 中文天堂资源在线| 综合色天天鬼久久鬼色| 久久精品综合视频| xnxx国产精品| 夫妇露脸对白88av| 亚洲天堂av老司机| 欧美人妻精品一区二区免费看| 久久综合色之久久综合| 免费网站在线观看黄| 国产麻豆视频一区二区| 日韩大尺度视频| 美女脱光内衣内裤视频久久网站| 日韩一区二区三区久久| 国产一区二区三区四区五区入口| 免费观看精品视频| 日本不卡一区二区| 91pony九色| 成人丝袜高跟foot| 免费观看av网站| 成人久久18免费网站麻豆| 国产精品福利导航| 国产欧美一区二区精品秋霞影院| 特黄一区二区三区| 一区二区三区 在线观看视频| 日本在线视频免费观看| 色综合婷婷久久| 国产精品久久久午夜夜伦鲁鲁| 日韩精品自拍偷拍| 久久精品国产亚洲a∨麻豆| 日韩中文视频免费在线观看| 成人超碰在线| 国产精品久久久久久av福利| 免费看男女www网站入口在线| 国产成人精品久久久| 亚洲色图官网| 国产精品入口免费视频一| 麻豆视频久久| 免费国产在线精品一区二区三区| 99久久精品网| 日韩精品视频一区二区在线观看| 在线不卡欧美| 精品国偷自产一区二区三区| 免费在线欧美黄色| 亚洲av毛片在线观看| 91免费版在线| 久草网视频在线观看| 欧美在线免费观看亚洲| 亚洲精品国产精品国| 伊人久久综合97精品| 波多一区二区| 成人免费淫片aa视频免费| 天天操综合520| 麻豆91蜜桃| 一区二区三区四区日韩| 欧美日韩午夜爽爽| 葵司免费一区二区三区四区五区| 熟妇女人妻丰满少妇中文字幕| 国产亚洲人成网站| 亚洲一二三精品| 精品高清美女精品国产区| 国产精品一级视频| 亚洲亚裔videos黑人hd| 成年人视频在线观看免费| 久久免费国产精品1| 妞干网免费在线视频| 91亚洲人电影| 日韩欧美自拍| 黄黄视频在线观看| 日韩 欧美一区二区三区| 好吊一区二区三区视频| 亚洲综合另类小说| 国产欧美久久久| 中文日韩在线视频| 成人黄色免费短视频| 久久国产精品久久| 亚洲国产欧美国产综合一区| 黄色免费观看视频网站| 丰满亚洲少妇av| 亚洲狠狠婷婷综合久久久久图片| 一区二区在线看| 国产精品久久婷婷| www.日本久久久久com.| 欧美色片在线观看| 日本黑人久久| 久久久青草婷婷精品综合日韩| 69久久久久久| 风间由美一区二区三区在线观看| www.xxxx日本| 欧美一区二区三区免费大片| 麻豆视频在线观看免费网站| 国产69精品久久久| 成人爽a毛片| 欧美国产日韩激情| zzijzzij亚洲日本少妇熟睡| 久一视频在线观看| 精品国产一区二区三区不卡 | 亚洲综合网av| www.久久久久| 国产精品亚洲综合在线观看| 桥本有菜av在线| 国产毛片精品国产一区二区三区| 久久久久亚洲av片无码| 亚洲一区自拍偷拍| 亚洲第一天堂影院| 欧美激情精品久久久久久久变态| jizz18欧美18| 一女被多男玩喷潮视频| 精品亚洲国内自在自线福利| 日韩av手机在线免费观看| 欧美电影免费提供在线观看| 黄色成人在线网| 欧美一区二区在线视频观看| 免费在线欧美视频| 四虎永久免费在线| 欧美精品一区男女天堂| 国产精品粉嫩| 国产高清一区二区三区| 亚洲激情精品| 性欧美一区二区| 欧美一区二区视频在线观看2022| 美洲精品一卡2卡三卡4卡四卡| 激情视频在线观看一区二区三区| 首页综合国产亚洲丝袜| 成人性视频免费看| 日韩欧美成人午夜| 成人免费福利| 国产一二三四区在线观看| av中文字幕一区| 中文字幕免费观看视频| 亚洲视频综合网| 国产一区二区高清在线| 男女超爽视频免费播放| 欧美国产乱子伦| 午夜老司机福利| 国产精品美女999| 欧美在线影院| 亚洲专区区免费| 欧美一级日韩免费不卡| 亚洲美女炮图| 国产精品国三级国产av| 欧美国产一区在线|