天天看點

python在字典中插入新的資料_Python資料類型之字典dict

python在字典中插入新的資料_Python資料類型之字典dict

  今天番茄加速就來說說Python資料類型之字典dict

python在字典中插入新的資料_Python資料類型之字典dict

  # 字典是一種可變容器類型,可存儲任意類型對象

  # 字典以鍵值對存儲資料,key-value形式,鍵值之間使用冒号:分隔,每個鍵值中間用逗号,分隔

  # 字典包含在大括号,花括号{}中

  # python中鍵必須是不可變的,但值可取任何資料類型

  # 元組可以作為 dict 的 key,但清單不能作為元組的 key,dict 要求 key 必須是不可變類型,但清單是可變類型

  dic = {"key1":"value1","key2":"value2"}

  print(dic)

  print(type(dic))

  # 建立字典

  # 建立一個空的字典

  b = {}

  print(b)

  print(type(b))

  # 直接指派建立

  a = {"name":"Tom","age":19,"area":"shanghai",123:456}

  print(a)

  print(type(a))

  # 通過關鍵字dict和關鍵字參數建立

  c = dict(aa="bb",bb="你好",cc="acc")

  print(c)

  # 通過關鍵字dict和二進制組清單建立

  list = [('name',"Tom"),('age',20),('area', "shanghai")]

  d = dict(list)

  print(d)

  # 通過字典推導式建立

  f = {i:2+i for i in range(1,5)}

  print(f)

  # 通過關鍵字dict和zip結合建立

  e = dict(zip('ab', [1, 2]))

  print(e)

  # 通過dict.fromkeys()建立

  # 這個通常用來初始化字典, 設定value的預設值

  g = dict.fromkeys(range(5), 'v')

  print(g)

  # 字典中鍵一般是唯一的,如果重複最後的一個鍵值對會替換前面的,值不需要唯一

  abc = {"ab":"11","ac":"22","ad":"33","ab":"55"}

  print(abc)

  print(type(abc))

  # 字典的通路

  # 通路字典中的資料:字典是鍵值對,通路的時候根據key進行通路操作

  # a[key]

  # a.get(key)

  # 使用方括号通路字典,key必須是存在,如果不存在,程式會報異常

  print(a["name"])

  # 使用get通路,key不存在,會傳回None,空的意思

  print(a.get("age"))

  print(a.get("abcd"))

  # 字典的常用操作

  # 字典資料修改

  # 字典資料删除

  # 字典資料增加

  # 字典鍵的特性:不可重複,不可變

  # 添加一個字典:修改 ,

  # 如果key不存在,這就是一個添加操作,如果key存在,這就是一個修改操作

  a["msg"] = "你好"

  print(a)

  a["age"] = 29

  print(a)

  # 删除

  del a["age"]

  print(a)

  # 清單,不可插入字典,可變

  # a1 = [1,2,3]

  # a[a1] = "abc"

  # print(a)

  # 元組

  a2 = (1,2,3)

  a[a2] = "abc"

  print(a)

  # 如果要判斷字典是否包含指定的 key,則可以使用 in 或 not in 運算符。字典中in 或 not in 運算符都是基于 key 來判斷的,字典的 key 就相當于它的索引

  # 判斷字典 a 中是否包含名為'age'的key

  print("age" in a)

  # 輸出True,False

  # 判斷 a 中是否包含名為'school'的key

  print('school' in a)

  # 判斷'school' key不再字典 a 中

  print('school' not in a)

  # 清單的索引總是從 0 開始、連續增大的;但字典的索引即使是整數類型,也不需要從 0 開始,而且不需要連續。是以,清單不允許對不存在的索引指派,但字典則允許直接對不存在的 key 指派,這樣就會為字典增加一個 key-value 對

  # 字典的常用方法

  # keys 擷取所有的key

  # values 擷取所有的值

  # pop 根據鍵彈出

  # popitem 彈出最後一組鍵值對

  # update 更新資料

  # clear 清除資料

  print(a.keys())

  print(a.values())

  # 擷取所有的鍵值對

  print(a.items())

  # pop彈出的是字典中存在的key

  print(a.pop("name"))

  # popitem() 方法用于随機彈出字典中的一個 key-value 對,但其實是彈出最後一個鍵值對

  print(a.popitem())

  print(a)

  # 更新一個鍵值對

  a.update(msg="世界")

  print(a)

  # 清空字典

  print(a.clear())

  # setdefault()方法:根據 key來擷取對應value的值;

  # setdefault() 方法總能傳回指定 key 對應的value;如果該 key-value對存在,則直接傳回該key對應的 value;如果該key-value 對不存在,則先為該 key設定預設的value,然後再傳回該 key對應的value。

  # 設定預設值,該key在dict中不存在,新增key-value對

  a = {"name":"Tom","age":19,"area":"shanghai",123:456}

  print(a.setdefault('school', "大學")) # 9.2

  print(a)

  # 設定預設值,該key在dict中存在,不會修改dict内容

  print(a.setdefault('name', "Lida")) # 8.5

  print(a)