Python學習筆記(5):字典

寫在前面

本系列適合0基礎的人食用,這是利用Excel學習Python系列的第5篇文章,系列文章可移步:Python數據分析(點擊標題可查看)

之前的列表都複習好了嗎:python數據結構:列表

are u ready?另一種數據結構:字典,要來了

字典(dict),是用大括號{}括起來的一種鍵值對的數據結構,字典通常這樣表示:

字典名= {key1:value1,key2,value2}

key是鍵,value是值,一組鍵和值之間用冒號分割,不同的鍵值對之間用逗號分隔。鍵可以是任何數據類型,值也可以是任何數據類型包括數據結構,如列表。可以用type函數查看一個字典的數據類型,可以看到爲dict

In [1]:# 新建字典
       t_dict ={"tony":101,"tom":102,"judy":103,"baby":104,"cindy":105}
       type(t_dict)
Out[1]:dict

1、建

同樣地,我們從建、增、刪、查、改幾個角度來學習。首先新建一個字典,直接傳入鍵值對結構,鍵爲字符,值爲數值:

In [2]:# 新建字典
       t_dict ={"tony":101,"tom":102,"judy":103,"baby":104,"cindy":105}
       t_dict
Out[2]:{'tony': 101, 'tom': 102, 'judy': 103, 'baby': 104, 'cindy': 105}

也可傳入列表來創建字典

In [3]:# 列表傳入創建字典
       l_dict = {"name":["tony","tom","judy","cindy"],"num":[101,102,103,104]}
       l_dict
Out[3]:{'name': ['tony', 'tom', 'judy', 'cindy'], 'num': [101, 102, 103, 104]}

2、增

字典中增加鍵值對,如在l_dict字典中新增age鍵值對。

In [4]:# 新增鍵值對
       l_dict["age"] = [14,15,16,17]
       l_dict
Out[4]:{'name': ['tony', 'tom', 'judy', 'cindy'],
        'num': [101, 102, 103, 104],
        'age': [14, 15, 16, 17]}

3、刪

刪除鍵值對,可用del函數根據鍵來刪除

In [5]:# 刪除鍵值對
       del l_dict["age"]
       l_dict
Out[5]:{'name': ['tony', 'tom', 'judy', 'cindy'],
        'num': [101, 102, 103, 104],

4、查

4.1 查找鍵是否在字典中

用in操作符,keys方法用來獲取字典內的鍵,查找age是不是l_dict中的鍵

In [6]:# 查找值
       105 in l_dict.values()
Out[6]:False

4.2 查找值是否在字典中

Values方法用來獲取字典中的值

In [7]:# 查找鍵
       "age" in l_dict.keys()
Out[7]:True

4.3 查找字典中指定值的位置

根據鍵查找對應的值,直接用鍵來訪問:

In [8]:# 根據鍵查找值
       l_dict["name"]
Out[8]:['tony', 'tom', 'judy', 'cindy']

值、鍵和項目

keys方法用來獲取字典中的所有鍵,values方法用來獲取所有值,items方法用來獲取整個字典

In [9]:# 獲取全部的鍵
       l_dict.keys()
Out[9]:dict_keys(['name', 'num'])

In [10]:# 獲取全部的值
       l_dict.values()
Out[10]:dict_values([['tony', 'tom', 'judy', 'cindy'], [101, 102, 103, 104]])

In [11]:# 獲取整個字典
       l_dict.items()
Out[11]:dict_items([('name', ['tony', 'tom', 'judy', 'cindy']), ('num', [101, 102, 103, 104])])

5、改

同列表一樣,查找後賦值。如將l_dict裏num鍵中的104改爲109.

In [12]:# 修改值
       l_dict["num"] = [101,102,103,109]
       l_dict
Out[12]:{'name': ['tony', 'tom', 'judy', 'cindy'],
        'num': [101, 102, 103, 109],
        'age': [14, 15, 16, 17]}

總結

  • 創建列表:花括號{鍵:值}
  • keys獲取鍵
  • values獲取值
  • items獲取項目

相關內容:
列表是個什麼鬼?
從Excel的數據類型說Python
利用Excel學習Python:變量
利用Excel學習Python:準備篇

猜你喜歡:
這樣用Excel動態交互圖表,還要什麼前端?


@ 作者:可樂,進階的數據分析師
@ 公衆號/知乎專欄/頭條/簡書:可樂的數據分析之路
@ 加微信(data_cola)備註:進羣,拉你進可樂的數據分析交流羣,每日數據分析知識總結,不定期行業經驗分享

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章