成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你知道瘋狂的字典嗎?

開發(fā) 前端
你可能有個(gè)小小的疑問,為什么遞歸的深度是 1000,但我調(diào)用 501 次就不行了呢?其實(shí)原因在于 __missing__ 調(diào)用了 __setitem__, __setitem__ 又調(diào)用了 __missing__,因此每個(gè)缺失的 key 其實(shí)調(diào)用了兩次,所以超過 500 就會(huì)報(bào)錯(cuò)。

你好,我是 somenzz,Python 的靈活程度讓人發(fā)指,今天來分享一下關(guān)于字典的瘋狂操作,計(jì)算斐波那契數(shù)列,話不多說,先看代碼:

圖片

代碼定義了一個(gè)類 FibDict,繼承自 dict,自定義了魔術(shù)方法 __missing__ 當(dāng) dict 查找 key失敗(missing)的時(shí)候,會(huì)由 Python 解釋器自行調(diào)用改方法。換句話說,如果試圖從 dict 中獲取不存在的 key,就會(huì)執(zhí)行這個(gè)方法。

因此計(jì)算 fib_dict[10] 就會(huì)執(zhí)行這個(gè)方法,計(jì)算 fib_dict[9] 和 fib_dict[8],就這樣遞歸,一直到 fib_dict[0]和 fib_dict[1]。

這是遞歸,但是字典是一種 hash 表,只要計(jì)算過的數(shù)據(jù)不會(huì)重復(fù)計(jì)算,因此效率非常高。

我們可以驗(yàn)證下計(jì)算 fib_dict[200] 的耗時(shí):

圖片

可以看出連 1 毫秒都不到。

不過,遞歸雖爽,可不要貪杯哦,任何事情都有極限,1000 是遞歸的默認(rèn)極限(sys.getrecursionlimit() ==1000),如果你直接計(jì)算 fib_dict[501] 就拋出 RecursionError 異常。

你可能有個(gè)小小的疑問,為什么遞歸的深度是 1000,但我調(diào)用 501 次就不行了呢?其實(shí)原因在于 __missing__ 調(diào)用了 __setitem__,__setitem__ 又調(diào)用了 __missing__,因此每個(gè)缺失的 key 其實(shí)調(diào)用了兩次,所以超過 500 就會(huì)報(bào)錯(cuò)。

但是,字典是有記憶的,如果你這樣調(diào)用它,永遠(yuǎn)不會(huì)出現(xiàn)遞歸的問題:

圖片

責(zé)任編輯:武曉燕 來源: Python七號(hào)
相關(guān)推薦

2023-01-31 09:02:24

JSVMVR

2024-03-08 13:33:08

PG數(shù)據(jù)安全

2018-01-10 08:27:00

2010-11-23 10:21:53

跳槽

2022-09-22 14:55:31

前端JavaScripthis

2022-09-26 13:10:17

JavaScriptthis

2022-10-24 09:57:02

runeGo語言

2023-12-12 08:41:01

2021-10-08 21:00:52

數(shù)據(jù)弱引用對(duì)象

2022-06-29 08:32:04

游標(biāo)MySQL服務(wù)器

2019-06-03 10:14:07

API網(wǎng)關(guān)微服務(wù)

2023-02-25 16:02:48

2010-09-17 16:16:05

無線接入技術(shù)

2019-12-12 09:23:29

Hello World操作系統(tǒng)函數(shù)庫

2019-05-30 22:27:51

云計(jì)算成本云服務(wù)

2022-03-10 08:25:27

JavaScrip變量作用域

2013-06-27 10:09:21

大數(shù)據(jù)

2020-11-23 11:04:17

Redis協(xié)議緩存

2018-02-08 21:15:33

區(qū)塊鏈去中心化加密貨幣

2021-10-19 09:21:08

AI人類工具
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美日韩一区二区在线观看 | 色一级片| av在线一区二区 | 蜜臀91视频| 日韩视频免费在线 | 亚洲精品视频一区二区三区 | 精精国产xxxx视频在线 | 成人网在线| 精品麻豆剧传媒av国产九九九 | 日本五月婷婷 | 人人爽人人爽人人片av | 日韩在线视频一区二区三区 | 久久精品黄色 | 久久精品二区 | 米奇成人网 | 视频一区二区国产 | 精品美女在线观看视频在线观看 | 国产在线成人 | 中文字幕影院 | 久草在线高清 | 欧美视频二区 | 中文字幕国产一区 | 国产成人综合一区二区三区 | 中文字幕一区二区三区精彩视频 | 午夜小电影 | 北条麻妃一区二区三区在线观看 | 在线视频一区二区三区 | 中文字幕精品一区久久久久 | 午夜视频在线免费观看 | 日韩h | 粉嫩粉嫩芽的虎白女18在线视频 | 日本精品视频在线观看 | 久久国产精彩视频 | 国产欧美在线播放 | 久久在看| 欧美久久久久久 | 国产视频第一页 | 国产精品久久久乱弄 | 91国内产香蕉 | 中文在线日韩 | 国产免费福利小视频 |