Python字典的一點用法
阿新 • • 發佈:2018-12-17
#python的基本語法網上已經有很多詳細的解釋了,寫在這裡方便自己記憶一些
字典是一種對映型別的資料結構,(對映一般是數學中的術語,指兩個元素之間元素相互對應的關係)。字典和序列有很大的不同,序列型別是通過陣列的形式來儲存資料,並通過索引的方式來獲取資料的值,索引值與對應位置儲存的資料是沒有關係的。但是字典是通過元素和元素的對應關係來獲得元素的值的。
注意:字典的鍵必須獨一無二,但是值可以取任何資料型別,列表,元組,字串,數、
1、建立元組有五種方式
1、a = {'a':1,'b':2} 2、b = dict(a=1,b=2) 3、c = dict([('a',1),('b',2)]) d1 = (1,2) d2 = ['a','b'] 4、d = dict(zip(d2,d1)) #zip方法將兩個可迭代序列成對輸出,和它相似用法的有enumerate(),將單個可迭代序列按照索引值輸出 5、e = dict({'a':1,'b':2}) print(a==b==c==d==e) True
2、字典具有許多內建方法,有幾種常見的方法需要掌握
#fromkeys(),fromkeys方法有兩個引數,第一個為可迭代序列,其中放入字典的鍵,第二個為字典的值,序列可以存放多個值,但是鍵只有一個,如果不寫第二個引數不寫,
則預設值為None
#fromkeys()並不對原字典改變,而是返回一個新的字典,可以看到,a字典仍然為空,而b字典則有值
a = {} b= a.fromkeys([1,2,3],'what') print(a) print(b)
{}
{1: 'what', 2: 'what', 3: 'what'}
#keys(),values(),items()分別是返回字典的鍵,值,項(項是由鍵和值構成的一對元素,即鍵值對)
for item in zip(b.keys(),b.values(),b.items()): print(item) (1, 'what', (1, 'what')) (2, 'what', (2, 'what')) (3, 'what', (3, 'what'))
#get(),同樣有兩個引數,第一個為字典的鍵,第二個是如果在字典中不存在所要查詢的鍵需要返回的值,如果不填則預設返回None(b.get(1)) print(b.get(4,'找不到呢'))
what
找不到呢
#copy()方法用來複制字典,這和把字典直接付給一個變數不同,前者是將字典的內容在新的記憶體地址裡面複製,後者是把新變數直接指向原地址
a = {1:'a',2:'b',3:'c'} b = a.copy() print(id(a),id(b)) 2803652135528 2803652136176
還有幾種如pop(),根據給定鍵彈出值,popitem(),隨機彈出一個項,update(),用來更新字典(這與直接把字典的某個鍵賦值功能相同)