第四章 字典:當索引不好用時
4.1 字典的使用
字典的適用場景:
表示乙個遊戲棋盤的狀態,每個鍵都是由座標值組成的元組;
儲存檔案修改時間,用檔名作為鍵;
4.2 建立和使用字典
如下的「鍵-值」對就是字典
>>> phonebook =
>>> phonebook['alice']
'2341'
4.2.1 dict函式
可以用dict函式,通過其他對映或鍵-值對的序列建立字典。
>>> items = [('name','gumby'),('age',42)]
>>> d = dict(items)
>>> d['name']
'gumby'
>>> d
也可以通過關鍵字引數來建立字典:
>>> d = dict(name='gumby', age = 42)
>>> d
4.2.2 基本字典操作
>>> len(d) // 字典長度
2>>> d["name"] // 取得鍵對應的值
'gumby'
>>> d["name"] = "aaaa" // 賦值
>>> d
>>> del d["name"] // 刪除
>>> d
>>> "name" in d // 檢查鍵是否在字典中
false
鍵型別:字典的鍵不一定為整型資料,可以是任意的不可變型別,比如浮點數,字串或者元組。
自動新增:即使鍵起初不在字典中,也可以為他賦值,這樣字典就會建立新項。
>>> x = // 不合法,因為這是乙個列表
>>> x[42] = 5
traceback (most recent call last):
file "", line 1, in
x[42] = 5
indexerror: list assignment index out of range
>>> x = {} // 合法,這是乙個對映
>>> x[42] = "fsd"
>>> x
注意: ( ) - 元組
[ ] - 序列
- 字典
4.2.3 字典的格式化字串
>>> var =
>>> "%(cecil)s" % var // 可以用鍵
'3258'
4.2.4 字典的方法
1)clear
清楚字典的所有項,原地操作,無返回值
>>> var
>>> var.clear()
>>> var
{} // 空字典
2)copy 返回相同鍵-值對的新字典(這個方法是淺複製)
>>> x =
>>> x
>>> y = x.copy()
>>> y['username'] ='newname' // 替換某個值,原始字典不受影響
>>> y['machines'].remove('bar') // 如果修改了某個值(原地修改,而不是替換),原始字典也會改變,
>>> y
>>> x
避免上述淺複製問題的方案是,使用深複製deepcopy
3)fromkeys:用給定的鍵建立新字典,每個鍵對應的值是none
>>> {}.fromkeys(['name','age'])
>>> dict.fromkeys(['name','age'],'(unknown)')
4)get
>>> d = {}
>>> d["anem"] // 這種方式訪問不存在的鍵會丟擲異常
traceback (most recent call last):
file "", line 1, in
d["anem"]
keyerror: 'anem'
>>> d.get("fsd") // get不會丟擲異常,當訪問不存在的鍵的時候
>>>
5) has_key :python 3不支援
6) items 和iteritems
7) keys和iterkeys
8)pop: 得到給定的鍵的值,並刪除
>>> d
>>> d.pop('anme')
'fds'
>>> d
{}9) popitem:彈出隨機的項(用於乙個乙個移除並處理)
10) setdefault: 如果鍵存在,返回對應的值;如果不存在,則返預設值並更新。
>>> d
{}>>> d.setdefault('name',"jj")
'jj'
>>> d
11) update: 利用乙個字典項更新另外乙個字典。 提供的項會被新增到舊的字典中,如果鍵存在,就覆蓋。
Python學習筆記 四 字典 當索引不好用時
4.1 字典的使用 類似於c 中的map.4.2 建立和使用字典 字典可以通過下面的方式建立 phonebook 4,2,1 dict 函式 可以同dict函式,通過其他對映 比如其他字典 或者 鍵,值 這樣的序列對建立字典 items name gumby age 42 d dict items ...
Python基礎程式設計(四)字典 當索引不好用時
字典是python中唯一內建的對映型別。字典中的值並沒有特殊的結構,但是都儲存在乙個特定的鍵 key 裡。鍵可以是數字 字串甚至是元組。字典可以通過下面的方式建立 phonebook 可以用dict函式,通過其他對映 比如其他字典 或者 鍵 值 這樣的序列對建立字典。items name gubmy...
Python學習四 字典
在python中,字典是一系列鍵 值對。每個鍵都與乙個值相關聯,你可以使用鍵來訪問與之相關的值。事實上,可將任何python物件用作字典中的值,例如數字 字串 列表 甚至是字典。例項 alien print alien age 輸出17 user 0 for key,value in user 0....