国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺談Python的字典鍵名可以是哪些類(lèi)型

瀏覽:38日期:2022-08-07 17:57:05
目錄1 鍵的類(lèi)型,列表/字典不可以,其它都可以2 多個(gè)對(duì)象可當(dāng)作鍵名,順序不同時(shí)是不同的鍵3 結(jié)論【有誤】:

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

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

1 鍵的類(lèi)型,列表/字典不可以,其它都可以

但是網(wǎng)上卻沒(méi)有說(shuō)其他類(lèi)型可不可以,怎么用的。我寫(xiě)代碼試了下:

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)

輸出結(jié)果:

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 多個(gè)對(duì)象可當(dāng)作鍵名,順序不同時(shí)是不同的鍵

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 結(jié)論【有誤】:

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

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

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲毛片在线播放 | 亚洲欧美视频在线播放 | 欧美成人精品大片免费流量 | 三级c欧美做人爱视频 | 日本色中色 | 成人黄激情免费视频 | 国产亚洲欧美一区 | 久久国产欧美日韩精品 | 亚洲刺激视频 | 国产系列 视频二区 | 毛片的网址| 国产在线步兵一区二区三区 | 国产第一页久久亚洲欧美国产 | 国产精品午夜波多野结衣性色 | 在线观看免费精品国产 | 美女黄色片免费 | se就是色94欧美setu | 国产一级免费 | 黄网站在线播放视频免费观看 | 欧美性猛交xxxx免费看手交 | 欧美巨乳在线 | 美女网站视频黄色 | 黄黄的网站在线观看 | 免费va国产高清不卡大片 | 亚洲国产毛片 | 毛片免费在线播放 | 亚洲天堂男人网 | 亚洲精品午夜久久久伊人 | 日韩三级黄色 | 成人欧美一区二区三区视频 | 日韩区| 久久在线观看免费视频 | 一级欧美一级日韩片 | 91国在线啪精品一区 | 久久久久国产一级毛片高清片 | 在线免费国产 | a级片免费观看 | 日韩欧美一级毛片视频免费 | 久久视频在线免费观看 | 日韩在线观看视频免费 | 国产精品免费看久久久香蕉 |