>>d={}創建包含兩個項目的字典:>>>d={'name':'vic','age':28}創建包含嵌套類型的字典:>>>d={'stude" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python 學習 第16篇:數據類型(字典)

系統 1769 0

字典是鍵/值對構成的集合,字典通過大括號來創建,字典的鍵是字符串,而值可以是任何數據對象。

字典有兩個重要的特征:

  • 字典是無序的,字典項沒有特定的順序,只能通過鍵來獲取值;
  • 字典是可變的,支持原處修改鍵的值;
  • 字典是作為散列表來實現的,可增長,搜索非常快速;
  • 和列表一樣,字典存儲的是對象的引用,不是拷貝。

創建字典

創建空的字典:

            >>> d={}
          

創建包含兩個項目的字典:

            >>> d={'name':'vic','age':28}
          

創建包含嵌套類型的字典:

            >>> d={'student':{'name':'vic','age':28}}
          

通過dict函數來創建字典:

            >>> d=dict(name='vic',age=28)
>>> d
{'name': 'vic', 'age': 28}
          

字典解析

使用字典解析,可以使用迭代器來生成字典:

            >>> d={x:x**2 for x in range(0,5)}
>>> d
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
          

引用字典的值

通過鍵來引用字典的值

            >>> d['name']
'vic'
>>> d['age']
28
          

或者使用dict.get(key, default)來獲取鍵對應的值,其中default參數的作用是:當不存在鍵時,返回default作為該鍵的值:

            >>> d.get('name')
'vic'
>>> d.get('nam','jim')
'jim'
          

字典操作

字典的基本操作有:

  • len(dict):字典項的數量,或者字典鍵的數量
  • dict.keys():所有字典鍵的集合
  • dict.values():所有字典值得集合
  • dict.items():字典項(鍵/值對)的集合
  • list(dict.keys()):把所有字典鍵轉換為列表
  • list(dict.values()):把所有字典鍵的值轉換為列表
  • d[key],d.get(key):根據字典的鍵獲取值
  • key in dict:檢查該key是否是字典的鍵

1,添加/修改字典項

如果字典中不存在Key,那么添加該Key/Value對;如果存在該Key,那么修改該Key的值。

            >>> d=dict(name='vic',age=28)
>>> d['sex']='male'
{'name': 'vic', 'age': 28, 'sex': 'male'}
>>>
>>> d['sex']='man'
{'name': 'vic', 'age': 28, 'sex': 'man'}
          

2,刪除字典項

dict.pop(key) 用于刪除鍵為key的字典項

            >>> d.pop('sex')
'man'
>>> d
{'name': 'vic', 'age': 28}
          

或者使用 del dict[key]來刪除鍵為key的字典項:

            >>> del d['sex']
          

3,合并字典

dict.update(dict2),把字典dict2合并到dict中

            >>> d.update({'tel':'120'})
{'name': 'vic', 'age': 28, 'tel': '120'}
          

4,復制字典

dict.copy()獲得字典的一個深拷貝(deep copy)對象,深拷貝就是增加一個指針并且申請一個新的內存,使這個增加的指針指向這個新的內存。

dict2=dict:獲得字典的一個淺拷貝(shallow copy)對象,淺拷貝只是增加了一個指針指向已經存在的內存。

例如,深拷貝對象和原對象,指向不同的內存空間,修改任意一個字典,不會影響另外一個字典:

            >>> d=dict(name='vic',age=28)
>>> dc=d.copy()   # deep copy
>>> dc['tel']=120
>>> d
{'name': 'vic', 'age': 28}
>>> dc
{'name': 'vic', 'age': 28, 'tel': 120}
          

而淺拷貝對象和原對象指向相同的內存空間,修改任意一個字典,另一個字典也會修改:

            >>> d=dict(name='vic',age=28)
>>> sc=d     # shallow copy
>>> sc['tel']=110
>>> sc
{'name': 'vic', 'age': 28, 'tel': 110}
>>> d
{'name': 'vic', 'age': 28, 'tel': 110}
          

?

參考文檔:


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久91精品国产91久久跳舞 | 绿色视频在线看 | 97 在线播放 | 青青青视频自偷自拍视频1 青青青手机版视频在线观看 | 国产日产欧产精品网站 | 天天干天天爽天天操 | 在线精品欧美 | 国产麻豆免费 | 日本高清不卡免费 | 波多野结衣三区 | 久久精品中文字幕极品 | aaa级精品久久久国产片 | 国产理论最新国产精品视频 | 91色综合综合热五月激情 | 国产午夜精品不卡视频 | 久久中文字幕亚洲精品最新 | 色哥网站| 国产精品久久久久久久久久98 | 亚洲 欧美 自拍 卡通 综合 | 一级特级欧美午夜片免费观看 | 亚洲精品国产一区二区图片欧美 | 免费鲁丝片一级观看 | 日本一级毛片视频网站 | 四虎看黄 | 女人18免费毛片视频 | 四虎永久地址4hu2019 | 久久ri精品高清一区二区三区 | 中文字幕在线观看不卡 | 欧美国产中文字幕 | 亚洲最大在线视频 | 99久久做夜夜爱天天做精品 | 国产亚洲精品国看不卡 | 一级欧美毛片成人 | 欧美日韩高清一区二区三区 | 日本免费不卡一区 | 国产视频毛片 | 日本亚洲黄色 | 久久精品99视频 | 中文字幕区 | 99国产精品热久久久久久 | 九色 91 |