Python程式設計快速上手第五章字典和結構化資料

2021-10-04 02:19:33 字數 2731 閱讀 5657

字典資料型別

字典的索引被稱為「鍵」,鍵及其關聯的值稱為「鍵-值」對。

>>

> mycat =

字典仍然可以用整數值作為鍵,就像列表使用整數值作為下標一樣,但它們不

必從 0 開始,可以是任何數字。

>>

> spam =

字典與列表

字典中的表項是不排序的。

>>

> spam =

['cats'

,'dogs'

,'moose'

]>>

> bacon =

['dogs'

,'moose'

,'cats'

]>>

> spam == bacon

false

>>

> eggs =

>>

> ham =

>>

> eggs == ham

true

因為字典是不排序的,所以不能像列表那樣切片。

嘗試訪問字典中不存在的鍵,將導致 keyerror 出錯資訊。

keys()、values()和 items()方法

分別對應於字典的鍵、值和鍵-值對:keys()、values()和 items()。

但這些資料型別(分別是dict_keys、dict_values 和dict_items)可以用於for 迴圈。

檢查字典中是否存在鍵或值

in 和 not in 操作符可以檢查值是否存在於列表中。

也可以利用這些操作符,檢查某個鍵或值是否存在於字典中。

>>

> spam =

>>

>

'name'

in spam.keys(

)true

>>

>

'zophie'

in spam.values(

)true

get()方法

如果該鍵不存在時:

返回備用值。

也不會產生錯誤。

picnicitems =

picnicitems.get(

'cups',0

)2picnicitems.get(

'eggs',0

)0

setdefault()方法

當鍵不存在dict時,增加乙個鍵值對。

>>

> spam =

>>

> spam.setdefault(

'color'

,'black'

)'black'

漂亮列印 pprint 模組

如果希望得到漂亮列印的文字作為字串,而不是顯示在螢幕上,那就呼叫

pprint.pformat()。下面兩行**是等價的:

pprint.pprint(somedictionaryvalue)

#pformat為格式化輸出,不列印到螢幕,

print

(pprint.pformat(somedictionaryvalue)

)

專案1:

好玩遊戲的物品清單

字典值,要求顯示如下:

inventory:

12 arrow

42 gold coin

1 rope

6 torch

1 dagger

total number of items:

62

專案2:

把前面的專案增加乙個清單

dragonloot = [『gold coin』, 『dagger』, 『gold coin』, 『gold coin』, 『ruby』]

gametool =

defdispaly

(tool)

: total =

0print

("inventory:"

)for k,v in tool.items():

print

(str

(v)+

' '+k)

total += v

print

("total: %s"

%(total)

)dispaly(gametool)

dragonloot =

['gold coin'

,'dagger'

,'gold coin'

,'gold coin'

,'ruby'

]def

addtool

(inv,additem)

:for temp in additem:

inv.setdefault(temp,0)

inv[temp]+=1

addtool(gametool,dragonloot)

dispaly(gametool)

Python 程式設計快速上手 第五章總結

格式 mycat 中是字典的鍵,從而得到對應字典中的值。keys 返回 dict keys 型別的資料,格式為 dict keys color age values 返回 dict values 型別的資料。items 返回 dict items 型別的資料 可以使用 list 使得其值變成列表。格...

python第五章 Python學習(第五章)

記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...

Python語言程式設計第五章

def 函式名 引數列表 函式體 return 返回值列表 沒有引數時也要保留圓括號 函式可以沒有return語句,在函式體結束位置將控制權返回給呼叫者 匿名函式 函式名 lambda 引數列表 表示式 f lambda x,y x y相當於 def 函式名 引數列表 函式體 return 返回值列...