用 setdefault 處理找不到的鍵

2021-09-18 05:54:27 字數 1437 閱讀 5050

下面是從索引中獲取單詞出現的頻率資訊,並把他們寫進對應的列表裡。

import sys

import re

word_re = re.compile(r'\w+')

index = {}

with open(sys.ar**[1], encoding='utf-8') as fp:

for line_no, line in enumerate(fp, 1):

for match in word_re.finditer(line):

word = match.group()

column_no = match.start() + 1

location = (line_no, column_no)

# this is ugly; coded like this to make a point

occurrences = index.get(word, ) # <1>

index[word] = occurrences # <3>

# print in alphabetical order

for word in sorted(index, key=str.upper): # <4>

print(word, index[word])

# end index0

返回的是匹配後的單詞在文**現的位置。

下面是使用 setdefault ,用 setdefault 用一行就解決了獲取和更新單詞的出現情況表

import sys

import re

word_re = re.compile(r'\w+')

index = {}

with open(sys.ar**[1], encoding='utf-8') as fp:

for line_no, line in enumerate(fp, 1):

print(line_no, line)

for match in word_re.finditer(line):

word = match.group()

print(word)

column_no = match.start() + 1

location = (line_no, column_no)

# print in alphabetical order

for word in sorted(index, key=str.upper):

print(word, index[word])

# end index

可以替換

if key not in my_dict:

my_dict[key] =

二者的效果是一樣的,只不過後者至少要進行兩次鍵查詢。如果鍵不存在就是三次,用 setdefault 只需要一次就可以完成。

python練習之setdefault用法詳解

setdefault作為python字典中的函式,有很多功能。語法 dict.setdefault key,default none key為查詢的鍵,default為查不到時,系統自動在字典裡生成的與key對應的值。如果存在該鍵值對,則返回對應的值,否則返回default的引數 用法 給字典中的不...

不找藉口找方法,勝任才是硬道理

他出生在四川,是窮孩子 出身,初中畢業就外出打工 年 月,他應聘一家房地產 公司的發單員,底薪 元,不包吃住,發出的單做成生意,才有一點提成 上班第一天,老闆講了很多鼓勵大家的話,其中一句 不找藉口找方法,勝任才是硬道理 讓他印象深刻 上班後,他勁頭十足,每天早晨 時就出門,晚上 時還在路邊發宣傳單...

如何解決php domdocument找不到的問題

具體問題 我在magento應用程式的頁面上發現錯誤 當我訪問它時,它總是顯示此訊息錯誤 fatal error c程式設計客棧lass domdocumwww.cppcns.coment not found in home lib zend feed abstract.php on line 95...