python中的dict Python中的dict

2021-10-11 11:51:30 字數 1546 閱讀 8624

# dict

# python內建了字典:dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的查詢速度。

d = 

print('dict get michael:', d['michael'])

# add a element

d['adam'] = 67

print('dict d', d)

# change a element

d['adam'] = 90

print('dict get "adam" after change', d['adam'])

# if key not exist,there is an error of dict:(key error:'thomas')

# print('dict get an element,is not exist', d['thomas'])

# 避免key不存在的錯誤,有兩種辦法

# 1.通過in判斷key是否存在

if 'thomas' in d:

print('the key "thomas" exist')

else:

print('the key "thomas" not exist')

# 2.通過dict提供的get方法,如果key不存在,可以返回none, 或者自己指定的value

print('get not exist element "thomas"', d.get('thomas'))

print('get not exist element "thomas"', d.get('thomas', -1))

# delete an element

d.pop('bob')

print('dict d after delete the element of key "bob"', d)

# dict內部的存放順序和key放入的順序是沒有關係的

# 和list比較,dict有以下幾個特點:

# 1.查詢和插入的速度極快,不會隨著key的增加而變慢;

# 2.需要占用大量的記憶體,記憶體浪費多

# 而list相反:

# 1.查詢和插入的時間隨著元素的增加而增加;

# 2.占用空間小,浪費記憶體很少。

# 所以,dict是用空間來換取時間的一種方法。

# dict可以用在需要高速查詢的很多地方,在python**中無處不在,正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變物件。

# 這是因為dict根據key來計算value的儲存位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。這個通過key計算位置的演算法稱為雜湊演算法。

# 要保證hash的正確性,作為key的物件就不能變。在python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key

# typeerror: unhashable type: 'list'

# key = [1, 2, 3]

# d[key] = 'a list'

python中 python中的 與

這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...

python中的物件 Python中的變數 物件

由於沒時間系統學習下python 只能見乙個問題 乙個問題了 一 初級 物件 關於python中的資料型別,今天重新認識了下。參考 首先,python中,物件才有型別,變數是沒有型別的,它只是物件的 引用 其次,python中物件被分為兩類 可更改物件和不可更改物件 包括numbers,string...

python中的引數傳遞 python中的引數傳遞

begin 前面在介紹python的六大資料型別的時候提到根據資料可變和不可變進行的資料型別分類 python3 的六個標準資料型別中 不可變資料 3 個 number 數字 string 字串 tuple 元組 可變資料 3 個 list 列表 dictionary 字典 set 集合 pytho...