字典用來儲存鍵值對,在python中同乙個字典中的鍵和值都可以有不同的型別。
建立乙個空的字典有兩種方法:
d = {}
d = dict()而建立乙個包含元素的字典方法比較多,下面操作結果相同:
>>> a = dict(one=1, two=2, three=3)
>>> b =
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict()獲取字典中的值只需通過dict[key]來獲取,如果不存在該鍵,會丟擲keyerror錯誤;也可用dict.get(k[,default])方法來獲取,這個方法即使鍵不存在也不會丟擲錯誤,也可以給乙個預設的值,在鍵值對不存在時返回:
>>> a = dict(one=1, two=2, three=3)
>>> a['one']
1>>> a['four']
traceback (most recent call last):
file "", line 1, in
keyerror: 'four'
>>> a.get('four')
>>> a.get('four',4)
4要修改字典中的鍵對應的值,只需要取出來直接對它賦值就行,需要注意的是,如果修改的鍵原來不存在,就變成了向字典中增加了乙個鍵值對:
>>> a = dict(one=1, two=2, three=3)
>>> a['one']=10
>>> a
>>> a['four']=4
>>> a
而dict.setdefault(key[,default])在key存在時,不做修改返回該值,如果不存在則新增鍵值對(key, default),其中default預設為none:
>>> a = dict(one=1, two=2, three=3)
>>> a.setdefault('one')
1>>> a
>>> a.setdefault('four')
>>> a
批量增加有dict.update(p)方法。
如果要刪除乙個鍵值對,直接用del方法,試圖刪除乙個不存在的鍵值對會丟擲keyerror錯誤:
>>> a
>>> del a['four']
>>> a
>>> del a['four']
traceback (most recent call last):
file "", line 1, in
keyerror: 'four'此外同樣可以呼叫dict.clear()來清空字典。還有dict.pop(key[,default])和dict.popitem(),這兩個乙個是彈出特定鍵對應的鍵值對,另乙個彈出任意的乙個鍵值對:
>>> a
>>> a.pop("one")
10>>> a
>>> a.popitem()
('two', 2)
>>> a
字典可以分別返回它所有的鍵值對、鍵和值,它們的型別都是字典內建型別,可以通過list()轉化為列表:
>>> a = dict(one=1, two=2, three=3)
>>> a
>>> a.items()
dict_items([('two', 2), ('one', 1), ('three', 3)])
>>> a.values()
dict_values([2, 1, 3])
>>> a.keys()
dict_keys(['two', 'one', 'three'])
>>> list(a.keys())
['two', 'one', 'three']
每天學點Python之tuple
元組就是乙個增加了限制的列表,主要的區別就是元組一旦確定就不能再修改。它們可以通過各自的建構函式相互轉化。元組與列表非常相似,但它有自己的優勢 元組比列表速度快,同樣遍歷一串數值,元組的速度比類表快 建立安全的變數,有些變數不想在建立後被修改 元組是可以當作字典的鍵和集合的值的,列表由於是變化的,雜...
每天學點Python之Iterator
我們經常需要遍歷乙個物件中的元素,在python中這種功能是通過迭代器來實現的。每乙個迭代器可以通過反覆呼叫迭代器的 next 方法來返回建立該迭代器的物件中的後繼值。當沒有可用資料時,產生乙個stopinteration異常。此時,迭代器物件被耗盡,之後再呼叫 next 方法只會再次產生stopi...
每天學點Linux
1.程序檢視刪除 ps 檢視當前正在執行的程序資訊,aux顯示所有狀態。可以確定哪些程序正在執行 執行狀態 程序是否結束 程序有沒有僵死 程序占用資源情況。eg ps aux grep tomcat kill終止程序,9強迫程序立刻終止 eg kill 9 pid killall 9 程序名 2.統...