python內建了字典:dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的查詢速度。
>>> person =>>> person['
name']
'keven
'>>>type(person)
'dict
'>
字典可以原地修改,即它是可變的。
>>> dict1={}>>>id(dict1)
139736380198256
>>> dict1["
name
"] = "
keven
">>>id(dict1)
139736380198256
>>>dict1
利用元組在建構字典,方法如下:
>>> name = (["first
"],["
second
","yahoo"])
>>> website =dict(name)
>>>website
或者用這樣的方法:
>>> ad = dict(name="keven
", age=42)
>>>ad
>>>len(city_code)
4
• d[key],返回字典(d)中的鍵(key)的值
>>> city_code["suzhou"]
'0512
'
• d[key]=value,將值(value)賦給字典(d)中的鍵(key)
>>> city_code =>>> city_code["
shenzhen
"]="
1212
">>>city_code
• del d[key],刪除字典(d)的鍵(key)項(將該鍵值對刪除)
>>> del city_code["shanghai"]
>>>city_code
• key in d,檢查字典(d)中是否含有鍵為 key 的項
>>> "shenzhen"in
city_code
true
>>> "sz"
incity_code
false
字典也可以實現格式化字元
>>> city_code =>>> "
suzhou is a beautiful city, its area code is %(suzhou)s
" %city_code
'suzhou is a beautiful city, its area code is 0512
字典的常用操作方法:
copy
它與賦值的方式不一樣,它會在記憶體中另闢了乙個空間,但是需要注意的是:對於不是基礎型別的,比如剛才字典的值是列表,python 不會在被複製的那個物件
中重新儲存,而是用引用的方式,指向原來的值。
>>> ad =>>> cd =ad.copy()
>>>cd
>>>id(ad)
139736371470416
>>>id(cd)
139736371472376
與賦值的差別,id並沒有改變
>>> ed=ad>>>ed
>>>id(ed)
139736371470416
clear
清空字典中所有元素的操作
>>> ad =>>>ad.clear()
>>>ad
{}
get
dict.get() 就是要得到字典中某個鍵的值
>>> ad =>>> ad.get("
name")
'sir
'
setdefault
首先,它要執行d.get(k,d) ,就跟前面一樣了,然後,進一步執行另外乙個操作,如果鍵k不在字典中,就在字典中增加這個鍵值對。當然,如果有就沒有必要執行這一步了。
>>> ad =>>> ad.setdefault("
lang
","python")
'python
'>>>ad
>>> ad.setdefault("
name
","python")
'sir
'>>>ad
items
d.items() 能夠得到乙個關於字典的列表,列表中的元素是由字典中的鍵和值組成的元組
>>> d=>>>d.items()[('
age', '
20'), ('
name
', '
keven
')]
iteritems
得到的是乙個「迭代器」,這個迭代器是關於「d.items()」的,這種迭代器型別的資料不能直接輸出,必須用list() 轉換一下,才能看到裡面的真面目。
>>> d=>>> d_iter =d.iteritems()
>>>d_iter
>>>type(d_iter)
'dictionary-itemiterator
'>
>>>list(d_iter)[('
gender
', '
femal
'), ('
age', '
20'), ('
name
', '
keven
')]
keys和value
>>> d=>>>d.keys()['
gender
', '
age', '
name']
>>>d.values()['
femal
', '
20', '
keven
']
pop
根據key刪除
>>> d=>>> d.pop("
name")
'keven
'>>>d
popitem
d.popitem() 倒是跟list.pop() 有相似之處,不用寫引數(list.pop 是可以不寫引數),但是, d.popitem() 不是刪除最後乙個,dict 沒有順序,也就沒有最後和最先了,它是隨機刪除乙個,並將所刪除的返回。
>>> d=>>>d.popitem()('
gender
', '
femal')
>>>d
update
把乙個字典的值加入進來
>>> d1 =>>> d2 =
>>>d1.update(d2)
>>>d1
還可以用下面的方法更新:
>>> d1 =>>> d1.update([("
name
","keven
"),("
age","16"
)])>>>d1
has_key
判斷字典中是否有某乙個鍵值
>>> d=>>> d.has_key("
name")
true
>>> "
name"in
dtrue
Swift學習筆記 6 字典
1.定義 1.基本定義 key 1 value 1,key 2 value 2,key 3 value 3 var dict name xiaoqin female age 20 for key,value in dict 2.型別強制定義 dictionaryvar dict2 dictionar...
Python學習筆記6 字典與集合
set鍵 值 key value 儲存 你可以想象是數學中的函式f x 乙個x對應乙個f x 例如 a a it1 hello a a traceback most recent call last file line 1,in keyerror a 一是通過in判斷key是否存在 a in a f...
Python基礎(6) 字典
dict,可變得資料型別,儲存對映,無序。對映,即為一對一的kye value鍵值對。1,字典的定義 d 定義空字典 d dict 工廠方法定義字典 d fromkeys value fromkeys函式生成字典,value一致 2,字典的增加 d key value 直接通過key值增加 d.up...