Python3中的字典初探

字典的用途

  • 表示棋盤的狀態,其中每個鍵都是由座標組成的元組
  • 存儲文件修改時間,其中鍵爲文件名
  • 數字電話/地址簿

字典的創建和使用

字典由鍵和相應的值組成,這種鍵值對稱爲項;鍵和值之間用:隔開;項與項之間用,隔開,空字典用花括號表示{}

在字典中鍵必須是獨一無二的,但是值不用

函數dict

可使用函數dict從其他映射(如其他字典)或鍵值對序列創建字典

或者使用關鍵字實參來調用

基本的字典操作

  • len(d)返回d包含的項(鍵值對)數
  • d[k]返回與鍵k相關聯的值
  • d[k] = v 將值v關聯到鍵k
  • del d[k]刪除鍵爲k的項
  • k in d 檢查字典d是否包含鍵爲k的項

字典跟列表的區別

鍵的類型:字典中鍵可以是整數,但並非必須是整數;字典中的鍵可以試任何不可變的類型:浮點數、字符串、元組

自動添加: 字典中原本沒有鍵,也可以給它賦值,會在字典中創建一個新項;但是如果不使用append等方法的話就不能給列表中的元素賦值

成員資格:表達式k in d(d是字典)查找的是鍵不是值    v in l(l是列表)查找的是列表中的值而不是索引

將字符串格式設置功能用於字典

即在字典中包含的各種信息,只需要在格式字符串中提取所需的信息即可

字典方法

clear: 刪除所有字典項,返回None

copy:複製,返回一個新字典,其中包含的鍵值對跟原來的字典相同(這個方法是淺複製,操作的是原件,而非副本)

替換副本中的值,原件不受影響,修改副本中的值(就地址修改),原件也發生變化,這個時候我們需要深複製----deepcopy,即無論怎樣操作原件,都不影響複製出來的副本

fromkeys:創建一個新字典,其中包含指定的鍵,且每個鍵對應的都是None,如果不想使用默認值,也可以使用特定的值

get:獲取指定鍵的值。get爲訪問字典項提供了寬鬆的環境;因爲通常情況下若是沒有這個鍵則會報錯,但是get不會報錯,只返回None

items:返回一個包含所有字典項的列表,字典項在列表中的順序不確定

這種返回值類型叫做字典視圖,可用於迭代,還可以確定其長度以及對齊執行成員資格檢查

字典視圖的有點是不復制,是底層字典的反應,會隨着字典的改變而改變

keys:返回一個字典視圖,其中包含指定字典中的鍵

pop:用於獲取與指定鍵相關聯的鍵,並將改鍵值對從字典中刪除

popitem:類似於list.pop,但是popitem隨機彈出一個字典項

setdefault:獲取與指定鍵相關聯的值,在字典不包含改鍵時,在地點中添加指定的鍵值對

值是可選的(第二個參數,沒有的話默認爲None)

update:使用一個字典中的項來更新另一個字典;如果當前字典中包含相同的鍵就替換鍵對應的值,若不包含就新增

values:返回一個有字典中的 值 組成的字典視圖,values返回的視圖可能包含着重複的值

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章