最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年09月02日 10:41:20   作者:張欣-男  
本文主要介紹了Python的字典鍵名可以是哪些類型,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

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

class Person:
    def __init__(self, name):
        self.name = name

i = 5
s = '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 => five
abc => 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 xiao
Traceback (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 Studio\Shared\Anaconda3_64\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "D:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\spyder\utils\site\sitecustomize.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 字典鍵名 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python 對給定可迭代集合統(tǒng)計出現(xiàn)頻率,并排序的方法

    python 對給定可迭代集合統(tǒng)計出現(xiàn)頻率,并排序的方法

    今天小編就為大家分享一篇python 對給定可迭代集合統(tǒng)計出現(xiàn)頻率,并排序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • django 數(shù)據(jù)庫連接模塊解析及簡單長連接改造方法

    django 數(shù)據(jù)庫連接模塊解析及簡單長連接改造方法

    今天小編就為大家分享一篇django 數(shù)據(jù)庫連接模塊解析及簡單長連接改造方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 基于python中pygame模塊的Linux下安裝過程(詳解)

    基于python中pygame模塊的Linux下安裝過程(詳解)

    下面小編就為大家?guī)硪黄趐ython中pygame模塊的Linux下安裝過程(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • python使用列表的最佳方案

    python使用列表的最佳方案

    這篇文章主要介紹了python使用列表的最佳方式,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • 學好python基本數(shù)據(jù)類型

    學好python基本數(shù)據(jù)類型

    這篇文章主要介紹了學好python基本數(shù)據(jù)類型,學習python基本數(shù)據(jù)類型我們需要了解基本數(shù)據(jù)類型有數(shù)字int、布爾值bool、字符串str、列表list、元組tuple、字典dict等,其中包括他們的基本用法和其常用的方法,下面來看看文章的具體介紹吧
    2021-12-12
  • 如何使用python提取字符串的中英文(正則判斷)

    如何使用python提取字符串的中英文(正則判斷)

    這篇文章主要給大家介紹了關于如何使用python提取字符串中英文的相關資料,主要通過正則re中的sub函數(shù)、findall函數(shù)以及compile函數(shù)判斷來實現(xiàn),需要的朋友可以參考下
    2021-05-05
  • python基于http下載視頻或音頻

    python基于http下載視頻或音頻

    這篇文章主要為大家詳細介紹了python基于http下載視頻或音頻,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python 多線程實現(xiàn)檢測服務器在線情況

    python 多線程實現(xiàn)檢測服務器在線情況

    本文給大家分享的是Python使用多線程通過ping命令檢測服務器的在線狀況,給大家了內網(wǎng)和外網(wǎng)的2個例子,有需要的小伙伴可以參考下。
    2015-11-11
  • pyqt5 lineEdit設置密碼隱藏,刪除lineEdit已輸入的內容等屬性方法

    pyqt5 lineEdit設置密碼隱藏,刪除lineEdit已輸入的內容等屬性方法

    今天小編就為大家分享一篇pyqt5 lineEdit設置密碼隱藏,刪除lineEdit已輸入的內容等屬性方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python?turtle庫畫圣誕樹詳細代碼教程

    python?turtle庫畫圣誕樹詳細代碼教程

    這篇文章主要介紹了python?turtle庫畫圣誕樹詳細代碼教程,圣誕節(jié)快到了,下面小編就來利用python?turtle庫畫一顆圣誕樹,?主要成分有圣誕樹的本體、大小蝴蝶結、星星、圣誕帽和襪子,需要的朋友可以參考一下
    2021-12-12

最新評論

津南区| 清苑县| 佛坪县| 伊春市| 广西| 肃宁县| 克什克腾旗| 阿荣旗| 深泽县| 辛集市| 沙田区| 砀山县| 永年县| 岚皋县| 临桂县| 龙里县| 潢川县| 南乐县| 重庆市| 大关县| 滨州市| 横峰县| 临夏市| 章丘市| 克拉玛依市| 洛阳市| 乌恰县| 淳化县| 石屏县| 正蓝旗| 汨罗市| 汝南县| 宁海县| 思南县| 张家口市| 盐边县| 长治市| 吴川市| 九江市| 上林县| 陆良县|