字典是python中唯一內建的對映型別。字典中的值沒有特殊的順序,但是都儲存在乙個特定的鍵(key)下。鍵可以是數字、字串甚至是元組。
字典中的鍵是唯一的(其他型別的對映也是如此),而值並不唯一
可以用dict函式來建立字典
items =
d = dict(items)
print (d)
#字典裡的儲存是沒有順序的
dict也可以通過關鍵字引數來建立字典
dd = dict(name='zhao',age=42)
dd
#dict函式根本不是真正的函式,它是個型別,就像list、tuple和str一樣
字典的基本行為在很多方面與序列相似
鍵型別:字典的鍵可以是任意的不可變型別,比如浮點型、字串和元組
自動新增:及時鍵起初在字典中並不存在,也可以為他賦值,這樣字典就會建立新的項。
成員資格:表示式k in d(字典)查詢的是鍵,而不是值。表示式v in l(列表)查詢值,而不是索引
字典的格式化字串
title = "world"
year = 2013
print ("hello %(titles)s, %(years)10d" % )
hello world, 2013
字典方法
就像其他內建型別一眼個,字典也有方法。
-clear
清除字典中的所有的項。這是個原地操作(類似list.sort),所以無返回值(或者說返回none)
x = {}
y = x
x['key'] = 'value'
print (y)
x = {}
print (y)
x = {}
y = x
x['key'] = 'value'
print (y)
x.clear()
print (y)
兩種情況中,x和y最初對應同乙個字典。在第一種裡,將x關聯到乙個新的空字典來清空x,對y一點影響都沒有。而在第二種中,使用clear可以將x和y都清空{}
-copy
d =
c = d.copy()
c['name'] = 'qian'
c['age'].remove('man')
print (c)
print (d)
可以看到,當在副本中替換值得時候,原始字典不受影響,但是修改了某個值,原字典也會改變(淺複製)
避免這一問題可以使用deepcopy(from copy import deepcopy)
-fromkeys
此方法使用給定的鍵建立新的字典,每個鍵對應乙個預設的值none,當然也可以自己提供預設值
{}.fromkeys(,'unknown')
-get
一般開說,試圖訪問字典中不存在的鍵時會出錯,而使用get方法時就不會出錯,預設返回none,也可以自己提供預設值
x = {}.fromkeys(,'unknown')
d.get('***','unknown')
'unknown'
-has_key
檢查字典中是否含有特定的鍵。表示式d.has_key(k)相當於表示式k in d。返回true或者false
-items
items將字典中所有的項以列表的形式返回
d =
d.items()
dict_items([('name', 'zhao'), ('age', [42, 'man'])])
-keys
以列表的形式返回
-pop
將獲得的鍵-值從字典中移除,返回移除鍵的值
d =
c = d.pop('name')
print (d)
print (c)
zhao
-popitem
隨機刪除乙個鍵-值,返回值是元組的形式被刪除的鍵-值
d =
c = d.popitem()
print (d)
print (c)
('age', [42, 'man'])
-setdefault
方法類似於get,但會在字典中不含有給定鍵的情況下設定相應的鍵值
d =
c = d.setdefault('addr','unknown')
print (d)
print (c)
#預設值值可選的,不設定,會預設使用noneunknown
-update
利用乙個字典來更新另外乙個字典
d =
c =
d.update(c)
print (d)
相同鍵會覆蓋,沒有的將會新增到舊的字典中
-values
以列表的形式返回字典中的值
d =
c =
d.update(c)
print (d)
d.values()
out[165]:
dict_values(['qian', [42, 'man'], 'male'])
FishC筆記 26 講 字典 當索引不好用時2
本期內容詳解 1 dict 是乙個工廠函式,呼叫後會生成該型別的例項 2 字典的一種內建方法 dict1.fromkeys s v 3 訪問字典的方法 1 dict1.keys dict1.value dict1.items 返回每一項 2 dict1.get 對應鍵的值不存在的話返回乙個none,...
python學習(四) 字典 當索引不好用時
第四章 字典 當索引不好用時 4.1 字典的使用 字典的適用場景 表示乙個遊戲棋盤的狀態,每個鍵都是由座標值組成的元組 儲存檔案修改時間,用檔名作為鍵 4.2 建立和使用字典 如下的 鍵 值 對就是字典 phonebook phonebook alice 2341 4.2.1 dict函式 可以用d...
Python學習筆記 四 字典 當索引不好用時
4.1 字典的使用 類似於c 中的map.4.2 建立和使用字典 字典可以通過下面的方式建立 phonebook 4,2,1 dict 函式 可以同dict函式,通過其他對映 比如其他字典 或者 鍵,值 這樣的序列對建立字典 items name gumby age 42 d dict items ...