python資料類型之字典,python資料類型

來源:互聯網
上載者:User

python資料類型之字典,python資料類型
字典定義

字典是一種 key-value 的資料類型,這點很重要,是區別使用列表和字典的依據。

文法格式:

info = {    'stu1101': "Aaron",    'stu1102': "Jim",    'stu1103': "Jack",}
 字典的特性
  • dict是無序的
  • key必須是唯一的,所以字典具有天生去重
  • 與索引值向關聯的值可以是數字,字串和列表
字典操作字典值訪問
>>> "stu1102" in info   #標準尋找用法True>>> info.get("stu1102")  #擷取'Jim'>>> info["stu1102"] #同上,但是看下面'Jim'>>> info["stu1105"]  #如果一個key不存在,就報錯,get不會,不存在只返回NoneTraceback (most recent call last):  File "<stdin>", line 1, in <module>KeyError: 'stu1105'
字典值添加
>>> info["stu1104"] = "West">>> print(info){'stu1102': 'Jim', 'stu1104': 'West', 'stu1103': 'Jack', 'stu1101': 'Aaron'}
 字典值修改
>>> info["stu1103"] = "West">>> print(info){'stu1102': 'Jim', 'stu1104': 'West', 'stu1103': 'JacWest'}
 字典值刪除
>>> info{'stu1102': 'Jim', 'stu1103': 'Jack', 'stu1101': 'Aaron'}>>> info.pop("stu1101")           #標準刪除姿勢'Aaron'>>> info{'stu1102': Jim', 'stu1103': 'Jack'}>>> del info['stu1103']             #永久刪除>>> info{'stu1102': 'Jim'}>>> info = {'stu1102': 'Jim', 'stu1103': 'Jack'}>>> info{'stu1102': 'Jim', 'stu1103': 'Jack'} #隨機刪除>>> info.popitem()('stu1102', 'LongZe Luola')>>> info{'stu1103': 'XiaoZe Maliya'}
 字典遍曆

遍曆分為三種,遍曆索引值對,遍曆鍵和遍曆索引值。需要注意的是,在遍曆字典時預設是遍曆所有的鍵。在下面的曆程中“for key in info.keys():”,可以改為“for key in info:”,但顯示的調用方法keys(),代碼的可讀性更強。

info = {    'stu1101': "Aaron",    'stu1102': "Jim",    'stu1103': "Jack",}#遍曆索引值對for key,value in info.items():    print("\nkey:"+key)    print("value:"+value)#輸出:key:stu1101value:Aaronkey:stu1102value:Jimkey:stu1103value:Jack#遍曆鍵for key in info.keys():     print("key:"+key)#輸出:key:stu1101key:stu1102key:stu1103#遍曆索引值for  value in info.value():    print("value:"+value)#輸出:value:Aaronvalue:Jimvalue:Jack

 由字典的特性知,字典是無序的。但有以特定順序擷取鍵和索引值的需求,這可以利用sort方法來實現。

info = {    'stu1101': "Aaron",    'stu1102': "Jim",    'stu1103': "Jack",}for key in sorted(info.keys())    print("key:"+key)#輸出:key:stu1101key:stu1102key:stu1103
字典嵌套

      字典的索引值可以嵌套數字,列表和字典。同樣的,還有列表的嵌套,我說的是在列表中嵌套字典。具體使用哪種嵌套的資料類型,關鍵是要把握好列表和字典各自的特性。對於列表來說,列表中的元素描述的應該對應的是同一種屬性,比如,要對披薩字典的描述,其中,披薩的配料就不止是一個值能表示,因此,這個字典的索引值就是一個列表,即字典嵌套列表;對於字典來說,把握好索引值對的理解就好,它們是一一對應的。字典嵌套的使用,痛點不是在如何操作,而是能不能設計一個合理的建模模型。

字典嵌套的訪問問題

不管是誰嵌套誰,列表和字典的訪問都是通過“[]”來實現的,唯一不同是“[]”中的是索引,還是鍵的問題。

#字典嵌套列表pissa = {    'crust':'thick',    'toppings':['mushrooms','extra','cheese'],}print(pissa['toppings'][2])#輸出:cheese#列表嵌套字典people_info = [    {'name':'Aaron','age':'24'},    {'name':'Jim','age':'25'},]print(people_info[1]['name'])#輸出:Jim

 

聯繫我們

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