日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python学习笔记(四)字典(dict)

發布時間:2024/1/23 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python学习笔记(四)字典(dict) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建 dict

方法 1:

創建一個空的 dict,這個空 dict,可以在以后向里面加東西用。

>>> mydict = {} >>> mydict {}

不要小看“空”,“色即是空,空即是色”,在編程中,“空”是很重要。一般帶“空”字的人都很有名,比如孫悟空,哦。好像他應該是猴、或者是神。舉一個人的名字,帶“空”字,你懂得。

創建有內容的 dict。

>>> person = {"name":"qiwsir","site":"qiwsir.github.io","language":"python"} >>> person {'name': 'qiwsir', 'language': 'python', 'site': 'qiwsir.github.io'}

"name":"qiwsir",有一個優雅的名字:鍵值對。前面的 name 叫做鍵(key),后面的 qiwsir 是前面的鍵所對應的值(value)。在一個 dict 中,鍵是唯一的,不能重復。值則是對應于鍵,值可以重復。鍵值之間用(:)英文的分號,每一對鍵值之間用英文的逗號(,)隔開。

>>> person['name2']="qiwsir" #這是一種向 dict 中增加鍵值對的方法 >>> person {'name2': 'qiwsir', 'name': 'qiwsir', 'language': 'Python', 'site': 'qiwsir.github.io'}

用這樣的方法可以向一個 dict 類型的數據中增加“鍵值對”,也可以說是增加數值。那么,增加了值之后,那個字典還是原來的嗎?也就是也要同樣探討一下,字典是否能原地修改?(列表可以,所以列表是可變的;字符串和元組都不行,所以它們是不可變的。)

>>> ad = {} >>> id(ad) 3072770636L >>> ad["name"] = "qiwsir" >>> ad {'name': 'qiwsir'} >>> id(ad) 3072770636L

實驗表明,字典可以原地修改,即它是可變的。

方法 2:

利用元組在建構字典,方法如下:

>>> name = (["first","Google"],["second","Yahoo"]) >>> website = dict(name) >>> website {'second': 'Yahoo', 'first': 'Google'}

或者用這樣的方法:

>>> ad = dict(name="qiwsir", age=42) >>> ad {'age': 42, 'name': 'qiwsir'}

方法 3:

這個方法,跟上面的不同在于使用 fromkeys

>>> website = {}.fromkeys(("third","forth"),"facebook") >>> website {'forth': 'facebook', 'third': 'facebook'}

需要提醒的是,這種方法是重新建立一個 dict。

需要提醒注意的是,在字典中的“鍵”,必須是不可變的數據類型;“值”可以是任意數據類型。

>>> dd = {(1,2):1} >>> dd {(1, 2): 1} >>> dd = {[1,2]:1} Traceback (most recent call last):File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'

訪問 dict 的值

dict 數據類型是以鍵值對的形式存儲數據的,所以,只要知道鍵,就能得到值。這本質上就是一種映射關系。

映射,就好比“物體”和“影子”的關系,“形影相吊”,兩者之間是映射關系。此外,映射也是一個嚴格數學概念:A 是非空集合,A 到 B 的映射是指:A 中每個元素都對應到 B 中的某個元素。

既然是映射,就可以通過字典的“鍵”找到相應的“值”。

>>> person {'name2': 'qiwsir', 'name': 'qiwsir', 'language': 'python', 'site': 'qiwsir.github.io'} >>> person['name'] 'qiwsir' >>> person['language'] 'python'

如同前面所講,通過“鍵”能夠增加 dict 中的“值”,通過“鍵”能夠改變 dict 中的“值”,通過“鍵”也能夠訪問 dict 中的“值”。

本節開頭那個城市和區號的關系,也可以用字典來存儲和讀取。

>>> city_code = {"suzhou":"0512", "tangshan":"0315", "beijing":"011", "shanghai":"012"} >>> print city_code["suzhou"] 0512

既然 dict 是鍵值對的映射,就不用考慮所謂“排序”問題了,只要通過鍵就能找到值,至于這個鍵值對位置在哪里就不用考慮了。比如,剛才建立的 city_code

>>> city_code {'suzhou': '0512', 'beijing': '011', 'shanghai': '012', 'tangshan': '0315'}

雖然這里顯示的和剛剛賦值的時候順序有別,但是不影響讀取其中的值。

在 list 中,得到值是用索引的方法。那么在字典中有索引嗎?當然沒有,因為它沒有順序,哪里來的索引呢?所以,在字典中就不要什么索引和切片了。

dict 中的這類以鍵值對的映射方式存儲數據,是一種非常高效的方法,比如要讀取值得時候,如果用列表,Python 需要從頭開始讀,直到找到指定的那個索引值。但是,在 dict 中是通過“鍵”來得到值。要高效得多。正是這個特點,鍵值對這樣的形式可以用來存儲大規模的數據,因為檢索快捷。規模越大越明顯。所以,mongdb 這種非關系型數據庫在大數據方面比較流行了。

基本操作

字典雖然跟列表有很大的區別,但是依然有不少類似的地方。它的基本操作:

  • len(d),返回字典(d)中的鍵值對的數量
  • d[key],返回字典(d)中的鍵(key)的值
  • d[key]=value,將值(value)賦給字典(d)中的鍵(key)
  • del d[key],刪除字典(d)的鍵(key)項(將該鍵值對刪除)
  • key in d,檢查字典(d)中是否含有鍵為 key 的項

下面依次進行演示。

>>> city_code {'suzhou': '0512', 'beijing': '011', 'shanghai': '012', 'tangshan': '0315'} >>> len(city_code) 4

以 city_code 為操作對象,len(city_code)的值是 4,表明有四組鍵值對,也可以說是四項。

>>> city_code["nanjing"] = "025" >>> city_code {'suzhou': '0512', 'beijing': '011', 'shanghai': '012', 'tangshan': '0315', 'nanjing': '025'}

向其中增加一項

>>> city_code["beijing"] = "010" >>> city_code {'suzhou': '0512', 'beijing': '010', 'shanghai': '012', 'tangshan': '0315', 'nanjing': '025'}

突然發現北京的區號寫錯了。可以這樣修改。這進一步說明字典是可變的。

>>> city_code["shanghai"] '012' >>> del city_code["shanghai"]

通過 city_code["shanghai"]能夠查看到該鍵(key)所對應的值(value),結果發現也錯了。干脆刪除,用 del,將那一項都刪掉。

>>> city_code["shanghai"] Traceback (most recent call last):File "<stdin>", line 1, in <module> KeyError: 'shanghai' >>> "shanghai" in city_code False

因為鍵是"shanghai"的那個鍵值對項已經刪除了,隨意不能找到,用 in 來看看,返回的是 False。

>>> city_code {'suzhou': '0512', 'beijing': '010', 'tangshan': '0315', 'nanjing': '025'}

真的刪除了哦。沒有了。


總結

以上是生活随笔為你收集整理的python学习笔记(四)字典(dict)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。