python學習之資料類型—字典dict

來源:互聯網
上載者:User

標籤:ret   自訂   地址   dict   rom   python   查詢   ems   改變   

字典:dict

1、字典是python中唯一的一個映射類型,以{}括起來的價值對組成;

2、字典中key是唯一的,在儲存的時候,根據key來計算出一個記憶體位址,如何將value放在這個記憶體中,這種稱為hash演算法;

3、字典中的key必須是可hash的即(不可變的資料類型str,int,tuple,bool)

4、字典中的value可以存任意資料類型

5、字典也是無序的,故沒有通過索引找值一說,只能通過key找value

文法:

dict = {key:value,……}

增:

1、直接添加

dic ["BeiJing"] = "政治中心"  

註:如果字典中無”BeiJing“這個key,則新增,如有則改變對應的value值為新值

2、setdefault(key,value)方法添加,value可不寫,預設為none

dic .setdefault("china")   ---> {"china":None}

dic .setdefault("china","中國")   --->{"china":None},一旦通過setdefault方法添加了key,之後就無法改變改key對應的值

刪:

1、指定key值來刪除 

ret = dict.pop(key)    有傳回值,返回的是刪除的值,同list 一樣,str與tuple是不可變資料類型故無pop方法

del  dict    刪除字典對象

del  dict[key]  按key來刪除,無傳回值,為None 

2、隨機刪除dict.popitem()

ret = dict.popitem()    #隨機刪除字典中的元素,返回一個包含索引值對的tuple  (key,value)

解構:

k,v = dict.popitem()

print(k,v)

3、清空字典

dict.clear()

改:

1、直接通過key賦予新值

dict[key] = new_value

2、兩個字典合并成一個 dict_to.update(dict_from)

dict3 = {"name": "sun", "age": 30}
dict4 = {"name": "xiu", "age": 30, "hobby": "play_tv"}
dict3.update(dict4) # 將dict4更新到dict3中,如果dict3中key存在,對應value值將覆蓋,如果不存在,則新增

查:

1、通過key查value

dict[key] 如key不存在,則報錯

dict.get(key,自訂傳回值)  如key不存在,預設返回None,也可自訂

2、查詢字典中所有的keys              dict_keys([‘name‘, ‘age‘, ‘hobby‘])

for i in dict.keys:

  print(i)

3、查詢字典中所有的values          dict_values([‘xiu‘, 30, ‘play_tv‘])

for i in dict.values:

  print(i)

4、查詢字典中所有的元素items    dict_items([(‘name‘, ‘xiu‘), (‘age‘, 30), (‘hobby‘, ‘play_tv‘)])

for i in dict.items:

  print(i)   #i 是一個元組

python學習之資料類型—字典dict

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.