Python自學3(字典)

2021-10-04 18:10:58 字數 3307 閱讀 4847

1.像列表一樣,「字典」是許多值的集合,但是不像列表的下標,字典的索引可以使用許多不同資料型別,不只是整數。字典的索引被稱為「鍵」,鍵及其關聯的值稱為「鍵-值」對

2.字典中的表項是不排序的,不能像列表一樣進行切片。

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

4.儘管字典時不排序的,但可以用任意值作為鍵,用強大的方式來組織資料。

5.用in關鍵字,可以看看輸入的名字是否作為鍵存在於字典中,就像檢視列表中。如果該名字在字典中,你就可以用方括號訪問關聯的值。如果不在,你就可以用同樣的方括號語法和賦值操作符新增它

6.有三個字典方法,它們將返回類似列表的值

key():返回字典的鍵,返回型別dict_keys

spam=

for i in spam.keys():

print

(i)

color

age

values():返回字典的值,返回型別dict_values

spam=

for i in spam.values():

print

(i)

red

20

items():返回字典的鍵-值對,返回型別dict_items

spam=

for i in spam.items():

print

(i)

(

'color'

,'red')(

'age'

,'20'

)

7.如果希望通過這些方法得到乙個真正的列表,就把類似列表的返回值傳遞給list函式

spam=

print

(list

(spam.keys())

)

[

'color'

,'age'

]

8.in和not in操作符可以檢查某個鍵或者值是否在字典中。例如'color' in spam.keys()

9.get()方法:它有兩個引數,要去的其值的鍵,以及如果該鍵不存在時,返回的備用值。

>>

> pic =

>>

>

'buy '

+str

(pic.get(,0

))+>>

>

'buy '

+str

(pic.get(

'eggs',2

))+' eggs'

'buy 2 eggs

10.setdefault()方法:傳遞給該方法的第乙個引數,是要檢查的鍵;第二個引數,是如果該鍵不存在時要設定的值。如果該鍵確實存在,方法就會返回鍵的值。

setdefault()是乙個很好的快捷方式,可以確保乙個鍵存在。

例子:統計字串中每個字元出現的次數

message =

'sifu aidfu kafi oahfoihalifh.asd,asf'

count =

for i in message:

count.setdefault(i,0)

count[i]

=count[i]+1

print

(count)

結果:

11.漂亮列印

pprint模組中包含pprint()和pformat()函式。如果想要字典中表項的顯示比print()的輸出結果乾淨漂亮,就有用了。

import pprint

message =

'sifu aidfu kafi oahfoihalifh.asd,asf'

count =

for i in message:

count.setdefault(i,0)

count[i]

=count[i]+1

pprint.pprint(count)

結果:

1)如果字典本身包含巢狀的列表或者字典,pprint.pprint()函式就特別有用

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

import pprint

message =

'sifu aidfu kafi oahfoihalifh.asd,asf'

count =

for i in message:

count.setdefault(i,0)

count[i]

= count[i]+1

tmp = pprint.pformat(count)

print

(tmp)

結果:

12.get() 函式返回指定鍵的值,如果值不在字典中返回預設值。spam.get(item,0)

13.統計物品清單,其中鍵是字串,描述清單中的物品,值是乙個整型值。

def

disaplayinventory

(spam)

: stat =

for k, v in spam.items():

for m, n in v.items():

if m not

in stat.keys():

stat[m]

=n else

: stat[m]

=stat[m]

+n for i,j in stat.items():

print

(str

(j)+

' '+

str(i)

)total =

,'betty':,

'cindy':}

disaplayinventory(total)

結果:

2 rope

4 torch

3 gold

13 arrow

1 dagger

python3字典遍歷 python3字典遍歷

python版本 python3.7 info infog.get name 得到字典info中name的值 info.keys 得到字典info中所有的鍵,結果是乙個物件 dict keys name age 需要注意在python2中該操作得到的是乙個列表 遍歷key for temp in i...

Python 自學筆記10 字典

1.字典的模板 dict1 key為鍵,value為值 2.字典的定義方式 1.利用工廠函式dict mydict1 dict a 1 b 2 c 3 d 4 2.利用 mydict2 3.字典元素的增加與刪除 1.增加元素 i.update 操作方法 此方法也可新增多個元素,用逗號隔開即可!upd...

自學python 7 字典

特點 1.符號 2.關鍵字 dict 3.鍵值對儲存 key value,每次新增都必須是成對新增的。定義 dict1 常用的空字典定義。dict2 dict 空字典,不常用。dict3 鍵值對必須成對出現。dict4 dict name lucky age 18 建立過程,首先把列表拆開,兩個元組...