精品欧美一区二区三区在线观看 _久久久久国色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)

日韩一区二区三区国产| 欧美日韩成人在线一区| 久久青青草原一区二区| 中文字幕天堂在线| 伊人成综合网| 亚洲国产成人久久综合一区| 国产极品在线视频| 日本不卡在线| 成人污视频在线观看| 日韩免费观看网站| av激情在线观看| 日韩有码一区| 91精品蜜臀在线一区尤物| 亚洲国产成人精品无码区99| 成人免费视频| av电影天堂一区二区在线| 国产精品久久久av| 九九九国产视频| 久久国产亚洲精品| 亚洲精品福利资源站| 一级黄色片国产| 国产资源在线观看入口av| 国产精品久久夜| 国产视频精品网| 国产精品自产拍| 老牛嫩草一区二区三区日本| 久久久久久91| 极品魔鬼身材女神啪啪精品| 国产欧美日韩精品一区二区免费 | 亚洲中文字幕无码一区二区三区| 噜噜噜噜噜在线视频| 福利一区二区在线观看| 国产综合久久久久| 亚洲综合成人av| 免费日韩精品中文字幕视频在线| 欧美精品久久久久a| 免费黄色激情视频| 日本一区二区免费高清| 亚洲精品网址在线观看| 国产精品久久AV无码| 日日夜夜精品视频| 宅男噜噜噜66一区二区66| 亚洲视频在线观看一区二区三区| 精品极品在线| 五月天激情综合| www婷婷av久久久影片| 精品自拍一区| 亚洲三级在线播放| 爱爱爱视频网站| 在线观看免费网站黄| 国产日韩av一区| 欧美日韩在线不卡一区| 欧洲亚洲在线| 久久亚洲精品国产精品紫薇| 久久www免费人成精品| 五月婷婷丁香网| 91色视频在线| 蜜桃欧美视频| 男女污污视频在线观看| 国产日韩三级在线| 日韩中文一区| 香蕉视频在线播放| 亚洲视频小说图片| 国产激情在线看| 欧美男男video| 亚洲国产日韩av| 国产午夜福利100集发布| 成全电影大全在线观看| 精品久久中文字幕| 99免费视频观看| 成人免费在线观看视频| 欧美日韩国产高清一区二区| 91亚洲免费视频| 亚洲色图综合| 亚洲精品一区在线观看| a级大片在线观看| 日韩欧美中文| 久久91精品国产| 日本在线视频免费观看| 亚洲免费婷婷| 国产日韩欧美在线看| 精品女同一区二区三区| 四虎影院中文字幕| av首页在线观看| 亚洲毛片视频| 国产91色在线|免| 亚洲特级黄色片| 国产精品一区二区你懂的| 高清视频一区二区三区| 色视频在线观看免费| 中文字幕第一区二区| 久久福利一区二区| 成人免费影院| 678五月天丁香亚洲综合网| 国产又粗又猛又爽又黄| 亚洲三级网址| 久久天天躁狠狠躁夜夜av| 精品无码一区二区三区电影桃花| 午夜在线a亚洲v天堂网2018| 国产日韩精品综合网站| 少妇一区二区三区四区| 国产精品国产馆在线真实露脸| 久久在线中文字幕| 精品女同一区二区三区在线观看| 欧美岛国在线观看| 欧美性受xxxx黑人| 日韩一级大片| 91在线观看免费高清完整版在线观看| 日本黄在线观看| 亚洲欧美日韩国产综合| 大香煮伊手机一区| 91综合精品国产丝袜长腿久久| 在线播放日韩av| 青青操免费在线视频| 九九国产精品视频| 欧美一卡2卡3卡4卡无卡免费观看水多多 | 亚洲激情在线| 91免费精品视频| 日韩福利一区二区| 亚洲乱码中文字幕| 国产精品乱码久久久久| 波多野结衣一区二区三区免费视频| 中文字幕精品久久| 三级网站在线播放| gogogo免费视频观看亚洲一| 国产精品啪啪啪视频| 日韩国产一二三区| 一二美女精品欧洲| 日韩精品成人免费观看视频| 国产91综合一区在线观看| 中文网丁香综合网| 成人在线视频播放| 亚洲免费中文字幕| 亚洲第一在线播放| 99精品偷自拍| 国产精品国产对白熟妇| 51社区在线成人免费视频| 日韩一区二区三区国产| 亚洲天堂视频网| 日本一区二区三区免费乱视频| 欧美精品99久久| 你懂的在线观看一区二区| 欧美激情综合色| www.黄色小说.com| 亚洲精品免费在线| 国产一级二级av| 国产一区久久| 国产麻豆日韩| 黄色软件视频在线观看| 亚洲成人黄色在线| 日韩xxx高潮hd| 91香蕉视频在线| 久久国产乱子伦免费精品| 天美av一区二区三区久久| 欧美中文字幕在线观看| 欧美美女搞黄| 欧美性淫爽ww久久久久无| 九九九视频在线观看| 麻豆精品国产传媒mv男同| 一本一本a久久| 超碰国产精品一区二页| 久久不射热爱视频精品| 亚洲av无码国产精品永久一区| 亚洲国产欧美在线| 日本一级片在线播放| 玖玖在线精品| 午夜一区二区三区| 亚洲国产aⅴ精品一区二区三区| 精品国产拍在线观看| 精品人妻久久久久一区二区三区| 亚洲国产cao| 亚洲第一成人网站| 麻豆免费看一区二区三区| 麻豆md0077饥渴少妇| 精品欧美午夜寂寞影院| 国产精品扒开腿做爽爽爽男男| 久cao在线| 亚洲国产精品久久| 国产成人a v| 一区二区三区在线高清| 亚洲男人在线天堂| 久久精品噜噜噜成人av农村| 黄色特一级视频| 九九视频精品全部免费播放| 91精品久久久久久久久久另类| 欧美理论片在线播放| 亚洲无限av看| 午夜精品在线播放| 一本到高清视频免费精品| 三级全黄做爰视频| av一本久道久久综合久久鬼色| 亚洲不卡视频在线| 国语对白精品一区二区| 视频一区视频二区视频| 日韩在线成人| 国产精品久久久久久久久男| 国产乱妇乱子在线播视频播放网站| 亚洲午夜女主播在线直播| 国产不卡精品视频| 欧美系列在线观看| 国产 日韩 欧美 成人| 欧美激情一区在线| 精品视频站长推荐| 老司机精品视频一区二区三区| 国产a级片网站| 四季av一区二区三区免费观看| 国产美女99p| 国产在线不卡一区二区三区| 国产精品h片在线播放| 手机在线免费观看av| 在线视频亚洲欧美| 午夜一区在线观看| 日韩欧美美女一区二区三区| 中文字幕1区2区3区| 福利一区福利二区微拍刺激| 欧美日韩人妻精品一区二区三区 | 日韩三级电影网址| 伊人久久成人网| 欧美性高潮在线| 日韩成人在线免费视频| 亚洲欧美日韩国产手机在线| 国产极品视频在线观看| 91在线观看视频| 中文字幕制服丝袜| 国产揄拍国内精品对白| 尤蜜粉嫩av国产一区二区三区| 国产情侣一区| 国产妇女馒头高清泬20p多| 欧美一区精品| 日韩第一页在线观看| 日韩精品免费一区二区三区| 欧美一区少妇| 欧洲专线二区三区| 欧美不卡在线一区二区三区| 玖玖玖免费嫩草在线影院一区| 99视频国产精品免费观看| 国产精品一区二区精品| 国产精品夜间视频香蕉| 国产精品第一国产精品| 国产精品久久久久久久久久久新郎| 欧美大片免费高清观看| 日韩av色综合| 日本一区二区三区视频在线| 国产精品黄视频| 成人在线中文| 国产美女主播一区| 亚洲三级在线| 亚洲一区亚洲二区| 一区二区亚洲视频| 国产精品美女黄网| 日韩成人av在线资源| 久久久亚洲综合网站| 国产精品欧美日韩一区| 翔田千里亚洲一二三区| 日韩精品dvd| 亚洲免费视频播放| 激情自拍一区| 欧美 日韩精品| 日本女人一区二区三区| 亚洲网中文字幕| 国产成人一区二区精品非洲| 一级少妇精品久久久久久久| 99精品1区2区| 天美传媒免费在线观看| 亚洲精品一二三区| 国产做受高潮漫动| 欧美中文字幕亚洲一区二区va在线| 中文字幕一区二区人妻痴汉电车| 91精品在线免费| 空姐吹箫视频大全| 亚洲日本欧美日韩高观看| av在线免费播放网站| 久久久精品网站| 77thz桃花论族在线观看| 热re91久久精品国99热蜜臀| 日韩综合av| 黑人另类av| 欧美色女视频| 青青草综合在线| 欧美一级专区| 在线免费黄色小视频| 99久久免费视频.com| 精品手机在线视频| 亚洲国产精品影院| 成人黄色免费网| 欧美成人精品3d动漫h| 黄色在线小视频| 色综合久综合久久综合久鬼88| 竹内纱里奈兽皇系列在线观看| 国产视频福利一区| av男人一区| 亚洲欧洲日韩精品| 亚洲国产精品第一区二区| 校园春色 亚洲色图| 成人av在线一区二区三区| 性爱在线免费视频| 精品国产1区2区| 97精品人妻一区二区三区| 亚洲精品电影网站| 国产婷婷视频在线 | 午夜婷婷在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 欧美一区二区三区成人精品| 亚洲欧美国产77777| 91porny九色| 亚洲精品国产精品国自产观看浪潮| 免费看美女视频在线网站| 日本精品久久久久影院| 亚洲国产视频二区| 一区二区三区三区在线| 免费国产自线拍一欧美视频| 成人在线电影网站| 亚洲人午夜精品天堂一二香蕉| 日本免费精品视频| 亚洲国产日韩欧美综合久久| a级影片在线| 国产在线观看一区二区三区 | 国产在线观看免费av| 欧美日韩中文精品| 九色在线免费| 91精品国产色综合久久不卡98| 久久久久久久久成人| 亚洲人成网站在线播放2019| 天使萌一区二区三区免费观看| 白嫩情侣偷拍呻吟刺激| 亚洲最大成人网4388xx| 国产精品欧美激情在线| 最新的欧美黄色| 99久久er| 日韩欧美99| 日韩精品每日更新| 在线免费观看麻豆| 欧美午夜影院在线视频| 全部免费毛片在线播放一个| 欧美国产视频日韩| 日韩精品亚洲专区在线观看| 国产精品啪啪啪视频| 国产精一品亚洲二区在线视频| 欧美大波大乳巨大乳| 91久久精品网| se在线电影| 国产欧美最新羞羞视频在线观看| 日韩激情一区| 伊人国产精品视频| 亚洲女人****多毛耸耸8| 国产婷婷在线视频| 两个人的视频www国产精品| 精品一区91| 国产制服91一区二区三区制服| 国产成人综合亚洲91猫咪| 国产性生活网站| 日韩电视剧免费观看网站| 中文av在线全新| 日韩欧美精品一区二区| 蜜臀av国产精品久久久久| 在线观看美女av| 日韩精品一区二区三区四区视频| 羞羞污视频在线观看| 国产精品二区三区| 亚洲在线免费| 超碰人人人人人人人| 7777精品伊人久久久大香线蕉最新版| 国产原厂视频在线观看| 国产精品国色综合久久| 麻豆91精品| 亚洲欧洲综合网| 欧美xxxx老人做受| 亚洲一二三四| 亚洲五月六月| 国产成人免费视频精品含羞草妖精| 日本三级免费看| 亚洲天堂男人天堂| 国产乱码精品一区二区三区亚洲人 | 欧洲精品一区二区| 高潮毛片在线观看| 精品久久久久亚洲| 秋霞影院一区二区| 久久综合激情网| 国产精品一区一区三区| 91av俱乐部| 日韩美女啊v在线免费观看| 午夜老司机福利| 国产999精品视频| 欧美a级在线| b站大片免费直播| 日韩一区二区高清| 亚洲免费福利| 熟女视频一区二区三区| 成人av在线看| 一区二区三区播放| 91极品女神在线| 国产精品久久观看| free性中国hd国语露脸| 777亚洲妇女| 自拍偷拍亚洲视频| 国产日韩亚洲欧美在线| 国产亚洲自拍一区| 欧美一区,二区| 成人啪啪免费看| 视频一区在线视频|