1. 程式人生 > >python學習之dict簡介

python學習之dict簡介

3.字典:dict

特點:無序性(沒有索引)、可變的資料型別(值可變、鍵不可變)

字典的結構:鍵值對組合 --> key-value對
   鍵(key):唯一性(不可重複)、不可變的資料型別(list等不能作為鍵)
   值(value):
   

注意事項:

#演示dict的特點以及使用場景

dic1 = {"name":"韓梅梅",'age':23,'height':168.0}

print(dic1,type(dic1),len(dic1))

'''
如何訪問字典元素?
1).獲取值?
字典名配合鍵名可以得到對應的值
2).設定值?
字典名配合鍵名 = ...
'''
print(dic1['name'])
dic1['name'] = '李雷'
print(dic1)

'''
注意:
1).在定義字典的時候如果出現了重複的鍵,保留鍵名的同時,將後者的值覆蓋前者的值
2).在新增新的鍵值對時,如果原字典中沒有此鍵,那麼就直接加入了
'''
dic2 = {"name":"韓梅梅",'age':23,'height':168.0,'name':'王五'}
dic2['weight'] = 90
print(dic2)

'''
思考:字典有+和*操作嗎?
不能支援以上的操作,是非法的,會報錯...
'''
dic3 = {"sex":'男',"address":'北京'}
# print(dic2 + dic3)
# print(dic3 * 3)

'''
字典的函式:
clear():
'''
dic3.clear()
print(dic3)

dic1 = {"name":"韓梅梅",'age':23,'height':168.0}

# del dic1['height'],dic1['age']
del dic1

# print(dic1)

'''
注意:
鍵:必須滿足不可變的資料型別,例如:int、float、bool、str、tuple、None都可以充當鍵
值:沒有要求
'''
dic2 = {10:123,3.14:0,'abc':True,'False':None,None:1.23,(1,2,3):[11,22,33]}
# dic2 = {10:123,3.14:0,'abc':True,'False':None,None:1.23,(1,2,3):[11,22,33],[10,20]:'hahahehe'}
# dic2 = {10:123,3.14:123,'abc':True,'False':None,None:1.23,(1,2,3):[11,22,33],123:'hahahehe'}

'''
思考:可以通過值找到鍵嗎?
不可以,因為值可能重複,不能精確的找到唯一的鍵
'''