Python學習筆記——字典
字典(dict):以鍵值對方式存在的無序數據的組合就是字典,為什麽這麽說呢,大家都知道我們所學到的序列如列表,集合等都是只能存放單個數據,如果想存放有關聯性的數據是比較麻煩的,比如說我們想讓一個人的姓名與他的性別對應起來存儲,這時候用列表等就比較麻煩,這時我們就引出了字典這個概念,
定義:以鍵值對方式存在的無序數據的組合就是字典,
特點:字典存儲數據時是以鍵值對的方式進行存儲,所謂的鍵值對(Key&values)就是說一個鍵對應一個值,那麽相關聯的數據也就可以存儲啦
格式: dicts = { ‘a’ : ‘A’ } #註意此時數據是以冒號連接的,標識符號為大括號 {} 。
字典的簡單創建:
1.創建一個空字典
dicts = {} 或者 vardict = dict()
2.創建有多個數據的字典
2.1 dicts = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘ }
2.2 dicts = dict ( { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘ } )
2.3 dicts = dict(a = ‘A‘,b = ‘B‘,c = ‘C‘)
2.4 lists = [
[‘a‘,‘A‘],
[‘b‘,‘B‘]
]
res = dict(lists) ——> print(res) #註意,列表轉字典時只能這種結構轉換
2.5 keys = [‘a‘,‘b‘,‘c‘]
values = [‘A‘,‘B‘,‘C‘]
res = dict(zip(keys,values))
print(res) #這種格式也可以得到字典
字典的基本操作:
創建一個使用字典: vardict = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘,‘d‘:‘D‘,‘e‘:‘E‘,‘f‘:‘F‘ }
1.訪問字典中的值
print ( vardict [ ‘b‘] ) #訪問時書寫字典的key,可以得到字典的value
2.修改字典
vardict[‘e‘] = EE #此時操作就會將原有的e對應的E改成EE
vardict[‘g‘] = G #在字典中增加一個鍵值對 g->G
3.刪除字典
del vardict [‘c‘] #次操作刪除了原有字典c所對應的鍵值對
4.成員檢測
print( ‘c‘ in vardict) #檢測成員c是否在字典vardict中,這樣只能檢測key
字典的遍歷操作
方法一:#先遍歷鍵,在取值
for i in vardict:
print( i, vardict [ i ] )
方法二:同時遍歷鍵和值
for x,y in vardict.items():
print(x,y)
字典推導式
創建所用字典
vardict = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘‘ }
vardict2 = { ‘name‘:‘老王‘,‘age‘:‘23‘,‘sex‘:‘man‘}
1.普通推導式
print( { ‘*‘ + k + ‘*‘ : ‘*‘ + k + ‘*‘ for k,v in vardict.items() })
2.帶有判斷條件的表達式
print ( k:v for k,v in vardict2.items() if len(2) == 2 })
3.多循環的字典表達式
print( {a+x : b+y for a,b in vardict.items() for x,y in vardict2.items()})
字典的相關函數
創建所用字典
vardict = { ‘a‘:‘A‘,‘b‘:‘B‘,‘c‘:‘C‘‘ }
1.clear() 清空字典
vardict.clear() #此操作會清空字典的所有內容,請註意
2. copy() 復制字典
new_vardict = vardict.copy()
3. fromkeys() 使用序列(當做字典的key)和指定的值做一個字典
lists = [1,2,3,4,5,6]
new_vardict = dict.fromkeys(lists,‘Python‘) 或者 new_vardict = ‘ ’.fromkeys(lists,‘Python‘)
4.get() 獲取字典中指定鍵的值
vardict.get (‘a‘ ,‘返回值‘) #等價於 var[‘a‘] #註意get有返回值,查詢未果為後面的返回值
5.setdefault() 向字典中添加一個元素(不存在的鍵添加,存在的鍵不動)
vardict.setdefult(‘f‘,‘F‘)
6.update()修改字典中的元素
vardict.update(a = ‘A‘) 或者 var.update({‘a‘:‘A‘})
7.pop()刪除字典中指定的元素
vardict.pop(‘b‘)
8.popitem()隨機刪除字典中的一個元素
vardict.popitem()
9.keys()獲取字典中的所有鍵組成的容器
print(var.keys())
10.values()獲取字典中的所有鍵組成的容器
print(var.values())
11.items()獲取字典中的所有鍵和值組成的容器
print(vardict.items())
#註:若有錯誤或疑問可郵件:[email protected]
Python學習筆記——字典