亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

淺談Python的字典鍵名可以是哪些類型

瀏覽:24日期:2022-08-07 17:57:05
目錄1 鍵的類型,列表/字典不可以,其它都可以2 多個對象可當作鍵名,順序不同時是不同的鍵3 結論【有誤】:

今天看別人代碼時發(fā)現(xiàn)一個事,就是把對象當作字典的鍵名,并且把兩個對象(類的實例)當作鍵名,然后去查了下:

鍵必須是不可變的,如字符串,數(shù)字或元組。

1 鍵的類型,列表/字典不可以,其它都可以

但是網(wǎng)上卻沒有說其他類型可不可以,怎么用的。我寫代碼試了下:

class Person: def __init__(self, name):self.name = namei = 5s = ’abc’t = (5,’a’)p = Person(’Lily’)q = Person(’xiao’)m = {’a’:1, ’b’:10}lst = [1,2,3]d = {}d[i] = ’five’d[s] = ’ABC’d[t] = ’five-a’d[p] = ’name:Lily’# d[lst] = ’list : 1,2,3’# TypeError: unhashable type: ’list’d[p, q] = ’two people: Lily and xiao’d[i,s,t,p,q] = ’all in key’for k, v in d.items(): print(k, ’=>’, v)

輸出結果:

5 => fiveabc => ABC(5, ’a’) => five-a<__main__.Person object at 0x000001803EEF27F0> => name:Lily(<__main__.Person object at 0x000001803EEF27F0>, <__main__.Person object at 0x000001803EEF28D0>) => two people: Lily and xiao(5, ’abc’, (5, ’a’), <__main__.Person object at 0x000001803EEF27F0>, <__main__.Person object at 0x000001803EEF28D0>) => all in key

2 多個對象可當作鍵名,順序不同時是不同的鍵

print(d[p, q])print(d[q, p])

輸出:

two people: Lily and xiaoTraceback (most recent call last):

File '<ipython-input-15-12aff481ab93>', line 1, in <module> runfile(’C:/Users/Xpeng/.spyder-py3/temp.py’, wdir=’C:/Users/Xpeng/.spyder-py3’)

File 'D:Program Files (x86)Microsoft Visual StudioSharedAnaconda3_64libsite-packagesspyderutilssitesitecustomize.py', line 705, in runfile execfile(filename, namespace)

File 'D:Program Files (x86)Microsoft Visual StudioSharedAnaconda3_64libsite-packagesspyderutilssitesitecustomize.py', line 102, in execfile exec(compile(f.read(), filename, ’exec’), namespace)

File 'C:/Users/Xpeng/.spyder-py3/temp.py', line 37, in <module> print(d[q, p])

KeyError: (<__main__.Person object at 0x000001803EF58940>, <__main__.Person object at 0x000001803EF58668>)

3 結論【有誤】:

(1)除了列表不能當作鍵名,其它都 可以,還可以放多個。(2)我是這樣理解的,列表是可變的,其他類型都是不可變的。對象作為鍵名時,實際傳入的是對象的地址,也是不可變的。(3)放多個時不同順序時鍵不同。

------2020.04.07更新-----感謝兩次網(wǎng)友的提醒。(1)準確的說是列表、字典這種不可哈希(unhashable)的類型不可當做鍵值,可哈希的類型才可當作鍵。

到此這篇關于淺談Python的字典鍵名可以是哪些類型的文章就介紹到這了,更多相關Python 字典鍵名 內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产一区二区视频在线观看 | 一本色道久久综合亚洲精品加 | 在线观看日韩精品 | 亚洲图片一区 | 999精品视频 | 午夜影院一区二区三区 | 青草娱乐极品免费视频 | 草免费视频 | 国模久久 | 国产精品ⅴ视频免费观看 | 97色婷婷成人综合在线观看 | 91丝袜美腿高跟国产极品老师 | 伊人亚洲影院 | 婷婷丁香视频 | 精品国产福利一区二区在线 | 国产免费又色又爽又黄在线观看 | 国产三级日本三级日产三 | 免费一区二区三区免费视频 | 一级做a爱过程免费视频高清 | 99re热久久精品这里都是精品 | 在线欧美国产 | 成人亚洲欧美日韩中文字幕 | 欧美大片欧美毛片大片 | 国产91久久久久久久免费 | 日本特黄特黄aaaaa大片 | 99九九视频| 欧美国产高清 | 亚洲国产综合在线 | 玖玖国产精品视频 | 国产啪在线91 | 91青草久久久久久清纯 | 国产限制级在线观看 | 日韩成人性视频 | 国产三级在线视频观看 | 看免费黄色一级视频 | 国产日韩欧美精品一区 | 露脸超嫩97后在线播放 | 成人在线观看国产 | 国产成+人+综合+欧美 亚洲 | 欧美日韩一区二区三区四区在线观看 | 国模私拍福利视频在线透漏 |