Python基礎知識2:字典,python基礎知識字典

來源:互聯網
上載者:User

Python基礎知識2:字典,python基礎知識字典

    字典一種key - value 的資料類型,就像上學用的字典通過拼音尋找漢字一樣;字典是Python語言中唯一的映射類型。字典對象是可變的,它是一個容器類型,能儲存任意個數的Python對象,其中也可包括其他容器類型。

    映射類型對象裡雜湊值(鍵,key)和指向的對象(值,value)是一對多的的關係,通常被認為是可變的雜湊表。


1)字典的建立:

adict = {}
adict = {key1:value2, key2:value2, …}

字典的特點:

特點:
1、鍵與值用冒號“:”分開;
2、項與項用逗號“,”分開;
3、字典中的鍵key必須是唯一的,而值可以不唯一,具有天然去重功能。

4、字典是無序的


#案例1:
dict1={'a1':['值1',1,21],
'a2':['值2',2,22],
'a3':['值3',3,23],
}
print("dict1",dict1)
dict2 = {"a":[1,2],"b":{"c":"d"}} # 值可以是任意值
#案例2
print("dict2",dict2)
print('dict2中的元素:',dict2["a"][1])
執行結果:

2)常見方法:字典

Python字典包含了以下內建函數:
1、cmp(dict1, dict2):比較兩個字典元素。
2、len(dict):計算字典元素個數,即鍵的總數。
3、str(dict):輸出字典可列印的字串表示。
4、type(variable):返回輸入的變數類型,如果變數是字典就返回字典類型。

Python字典包含了以下內建方法:
1、radiansdict.clear():刪除字典內所有元素
2、radiansdict.copy():返回一個字典的淺複製
3、radiansdict.fromkeys():建立一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
4、radiansdict.get(key, default=None):返回指定鍵的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果鍵在字典dict裡返回true,否則返回false
6、radiansdict.items():以列表返回可遍曆的(鍵, 值) 元組數組
7、radiansdict.keys():以列表返回一個字典所有的鍵
8、radiansdict.setdefault(key, default=None):和get()類似, 但如果鍵不已經存在於字典中,將會添加鍵並將值設為default
9、radiansdict.update(dict2):把字典dict2的鍵/值對更新到dict裡
10、radiansdict.values():以列表返回字典中的所有值

案例1:增加、修改 元素

#print('-----------增加元素----------------')
dict1={'a1':['值1',1,21],
'a2':['值2',2,22],
'a3':['值3',3,23],
}
print("dict1",dict1)
#增加一個值
dict1['a4']=['值4',4,24]
print("dict增加值a4後",dict1)

#修改值
dict1['a4'][0]=['值42']
print("dict修改a4",dict1)
執行結果:案例2:刪除
#print('-----------刪除元素----------------')
#pop刪除元素
dict1.pop("a4")
print("pop刪除元素",dict1)
#del刪除元素
del dict1["a3"]
print("del刪除元素",dict1)
#清空字典中的所有項或元素;
dict1.clear()
print("clear刪除元素",dict1)
del dict1
print("del刪除dict1",dict1)
執行結果:

案例3:尋找或判斷是否存在的三種方法

案例2:尋找或判斷是否存在的三種方法

#print('-----------尋找是否存在的方法----------------')
info={'a1':['值1',1,21],
'a2':['值2',2,22],
'a3':['值3',3,23],
'a4':['值4',4,24]
}
#1)方法1,用in判斷,同樣還有not in
t='a4' in info
print('in的結果',t)

#2)方法2,用get判斷
t2=info.get('a4')
print('get方法,存在傳回值',t2)
#如果get的值不存在,則返回none
t3=info.get('a5')
print('get方法,存在傳回值',t3)

#方法3,直接引用,如果key存在則有值返回,如果不存在,則返回錯誤
t4=info['a4']
print('直接引用',t4)
t5=info['a5']
print('直接引用,但值不存在',t5)#無返回結果,錯誤
執行結果:

案例3:items、key、value

info={'a1':['值1',1,21],
'a2':['值2',2,22],
'a3':['值3',3,23],
'a4':['值4',4,24]
}
#遍曆字典的key(鍵)
print("遍曆字典的key:")
for key in info.keys():
print(key)
#遍曆字典的value(值)
print("遍曆字典的value:")
for i in info.values():
print(i)

#遍曆字典的項,返回一個元祖
print("遍曆字典的項:")
for i in info.items():
print(i)

#遍曆字典的key-value
print("遍曆字典的key-value:")
for i,j in info.items():
print(i,j)

執行結果:

案例4:字典整理,刪除部分key值

刪除上述內容不是字典的key

程式:


程式連結:https://pan.baidu.com/s/1pLQfyRp 密碼:xjcv

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.