Python資料型別之字典

2021-07-03 13:04:26 字數 3337 閱讀 4896

字典(dictionary)是除列表之外python中最靈活的內建資料結構型別。

列表是有序物件的集合,字典是無序物件的集合。兩者區別在於:字典當中的元素是通過鍵來訪問的(鍵值對),而不是通過偏移訪問。

字典用花括號"{}"標識。字典就是c++標準庫的map,每乙個元素都是成對的,包含key、value兩部分。關鍵字key為不可變型別,如字元型、數字型、元組等,列表、字典等不可作為關鍵字,value可以是任意型別。

鍵是唯一的,並且字典只認最後一次賦的鍵值。   

#字典的第一種定義方法

>>>dict = {}

>>>dict["name"] = "jack"

>>>dict["age"] = 18

>>>dict["***"] = "male"

#字典的第二種定義方法

>>>dicttest =

#輸出完整的字典

>>>print dict

#字典的遍歷

>>> dict1

>>> for i,j in dict1.items():

... print i,j #i代表字典的key,j代表字典的value

...add bj

tel 18888888888

name jack

>>> for i in dict1:

... print "%s : %s" %(i,dict1[i])

...add : bj

tel : 18888888888

name : jack

#格式化輸出

>>> for i,j in dict1.items():

... print "%s : %s" %(i,j)

...add : bj

tel : 18888888888

name : jack

#輸出鍵為'name'的值

>>>print dict['name']

jack

#字典中值的修改

>>> dicttest['name'] = 'ruby'

>>> dicttest

#向字典中追加新元素

>>>> dicttest['school'] = 'bkd'

>>> dicttest

#刪除字典中的元素

>>> dict1

>>> del dict1['add']

>>> dict1

字典(dict)的函式彙總:
#清空字典中所有的條目

>>>dict.clear()

>>>dict

{}

#輸出所有的鍵,相當於先把key轉成list,然後以list形式列印輸出

>>>print dict.keys()

['age','name', '***']

#輸出所有的值,相當於先把value轉成list,然後以list形式列印輸出

>>>print dict.values()

[18,'jack', 'male']

#同dict[key],只是多了乙個沒有則返回預設值0,預設值可以自由定義。但dict[key]如果沒有,就會報錯。

>>>dict.get('***',0)

'male'

>>>dict.get('addr',0)

0

#鍵存在返回true,否則返回false

>>>dict.has_key('name')

true

>>>dict.has_key('a')

false

#返回字典中鍵的列表

>>>dict.keys()

['age','name', '***']

#返貨字典中所有鍵值對的item

>>>dict.items()

[('age',18), ('name', 'jack'), ('***', 'male')]

#合併兩字典,合併時注意,dict中存在的會被覆蓋,不存在的會增加。

>>>dict.update(dicttest)

>>>dict

#得到乙個元素,並從字典中刪除它。已空則丟擲異常。

>>>dict.popitem()

('addr','china')

>>>dict

#字典拷貝,但是dict和dict1所指的記憶體空間是不一樣的。

>>>dict1 = dict.copy()

>>>dict1

>>>dict

#檢視字典在記憶體空間中存放的位址

>>>id(dict1)

39352480

>>>id(dict)

39320432

#字典複製,相當於給dict1指定了乙個別名,它們是指向同一記憶體空間的,區別與字典的拷貝函式。

>>>dict12 = dict1

>>>id(dict12)

39352480

#dict.fromkeys(seq,val=none)  建立並返回乙個新字典,以seq(序列)中的元素做該字典的鍵,val 做該字典中所有鍵對應的初始值(如果不提供此值,則預設為none) 

>>> dict3 = {}

>>> dict3 = dict3.fromkeys(str1,0)

>>> dict3

#dict.setdefault(key,default=none) 如果字典中不存在key 鍵,由dict[key]=default 為它賦值。

>>> dict1

>>> dict1.setdefault(1,0)

0>>> dict1

python資料型別之字典型別

字典常用方法 clear get pop update copy items popitem values fromkeys keys setdefault 字典的表示方法 info dic 常用操作 1.存 取 info dic print info dic name11111111 找不到則報錯...

python資料型別之字典

字典 dictionary 字典是 python 資料型別中唯一類似 key value 雜湊表的對映型別,字典物件是可變的,但 key值是不可變的 1.字典的定義 1 空字典的定義 d 2 一般字典的定義 d 3 通過內建方法 fromkeys 定義 字典中有相同的 value 值,預設為 non...

Python 資料型別之字典

鑑於把字典留在最後,我將在本篇中做出解答。我第一次接觸 字典 的時候,它就給我留下了深刻的印象。至於為什麼,下面揭曉答案 因為它獨特的儲存形式 鍵值對 key value 對於這一部分內容,我們需要先理解 對映 它的意義在於 提供 作為索引的鍵,與作為資料的值 之間的 對應關係。而字典,可以說是把這...