動態物件鍵 適用於字典物件的Pythonic用法

2021-10-14 16:13:13 字數 1436 閱讀 2597

重磅乾貨,第一時間送達

圖 |pexels

日期 |2021.1.4

今天我們的百日計畫中解釋到了字典物件,這是與數字、字串、列表、元組並列為五大基本資料結構。

字典中的元素往往通過鍵來訪問,而不是像列表那樣,通過偏移進行訪問。

以下為字典中的pythonic用法,已經為大家整理完畢。

1.使用in/not in 檢查key是否存在於字典

想要知道某個key,到底有沒有存在於某個字典中時,初學者首先使用的方法往往是以列表形式將字典所有鍵返回,在這個基礎上,判斷key是否存在於鍵列表中,如圖所示:

而更pythonic的使用方式為,利用「in」關鍵字來判斷key是否存在於字典中,如圖所示:

2.使用setdefault()初始化字典鍵值

大部分人再使用字典時都會碰到一種情況,就是在應用場景下,動態更新字典。

在呼叫satdefalt時,字典會先行檢查,是否存在key,如果存在該方法啥都不做的話,它就會自動建立乙個key,即使setdefault不存在的情況下,並把第二個引數作為key的乙個對應值。

3.使用defaultdict()初始化字典

如果在初始情況下,想要所有key對應的值都是某個預設的初始值時,就要把字典進行初始化,好比有一批使用者,它的初始信用積分在100,現在想要給a使用者增加10分,**如下:

再用更pythonic的方法操作一下:

defaultdict位於collections模組下,它是dict模組的子類,那它的語法結構便是:

首先,我們的default_factory是乙個工廠方法,當某個鍵被初始化時,將會被自動呼叫。

而其中的value就是default_factory返回時候的值,剩下的引數與dict()函式接受的引數一致。

祝你學有所成。

長按關注,領取更多乾貨

只適用於HTML的DOM物件

前面,已經學習了如何對樹結構進行遍歷,並新增 刪除 修改任何xml文件中的節點。但是,還有一些物件和屬性石只適用於html的。列如,document.body就是乙個純html物件。只要html文件中包含了body標籤就可以訪問,其功能等價於document.getelementsbytagname...

多執行緒適用於阻塞式IO場景,不適用於平行計算場景

python的標準實現是cpython。cpython執行python 分為2個步驟 首先,將文字原始碼解釋編譯為位元組碼,然後再用乙個直譯器去 解釋執行位元組碼。位元組碼直譯器是有狀態的,需要維護該狀態的一致性,因此使用了gil global interpreter lock,全域性直譯器鎖 gi...

適用於python的 vimrc檔案

根據我的需求做了一些小的改動。file vimrc date 2009 09 22 author gashero note 配置乙份簡單的vim配置檔案 set nocompatible 非相容模式 syntax on 開啟語法高亮 set background dark 背景色 color des...