五、字典類型

字典類型 dict

定義方式:經過大括號來存數據,經過key:value這種映射關係來定義鍵值對,每一個鍵值對經過逗號分隔python

key : 必定是不可變類型code

value:能夠是任意類型索引

三種定義方式:ip

d1 = {"name":"shen", "age":18}# *****
d2 = dict(name = "shen", age = 18,'sex' = 'male')# *****
l1 = ['name',"age"] 
l2 = ['egon',18]
z1 = zip(l1,l2)

經常使用方法:

1.按照key:value 映射關係取值(可存可取)get

d1 = {'name':'shen','age':18}
print(d1['age'])# 按照key查找value
d1['age'] = 20# 改值
print(d1)
d1['sex'] = 'male'# 增長鍵值對
print(d1)

2.成員運算in ,not in (默認判斷key)it

d1 = {'name':'shen','age':18}
print("name" in d1)# >>>True
print("shen" in d1)# >>>False

3.len():獲取當前字典中鍵值對的個數class

內置方法

一、.get():經過key來查找value值,若是找不到,默認返回None,能夠經過第二個參數來修改默認返回值date

d1 = {'name':'shen','age':18}
# print(d1["sex"])# 直接索引key查找值,找不到則報錯
print(d1.get("name"))
print(d1.get("sex"))
print(d1.get("sex",'male'))

二、keys、values、items:返回全部的key、返回全部的值、返回全部的鍵值對方法

應用於for in 結合使用d3

d1 = {'name':'shen','age':18}
print(d1.keys())# 返回全部的key,返回列表
print(d1.values())# 返回全部的值,返回列表
print(d1.items())# 返回全部的鍵值對,返回值是列表套元組,每個鍵值對都是元組
for ke in d1.keys():
    print(ke)
for val in d1.values():
    print(val)
for item in d1.items():
    print(item)# >>>('name', 'shen')
               # >>>('age', 18)

三、.pop():指定key進行刪除,有返回值是對應的value

d1 = {'name':'shen','age':18}
d2 = d1.pop("name")
print(d1)# >>>{'age': 18}
print(d2)# >>>shen

四、.popitem():隨機彈出一個鍵值對刪除,返回值是元組

d1 = {'name':'shen','age':18,'sex':'male'}
d3 =d1.popitem()
print(d1)# {'name': 'shen', 'age': 18}隨機刪除後的字典
print(d3)# ('sex', 'male')返回值,元組

五、.update():用新字典代替舊字典,有則修改,無則增長

d1 = {'name':'shen','age':18,'sex':'male'}
d1.update({'name':'wang','sex':'female'}) # 返回是None
print(d1)# >>>{'name': 'wang', 'age': 18, 'sex': 'female'}
d1.update({"height":180})
print(d1) # >>>{'name': 'wang', 'age': 18, 'sex': 'female', 'height': 180}

六、.fromkeys():生產一個新字典, 第一個參數(列表),它會以第一個參數中各個元素爲key,以第二個參數爲值,組成一個新字典值所有相同

d1 = {'name':'shen','age':18,'sex':'male'}
d2 =d1.fromkeys([1,2],'shen')
print(d1)# >>>{'name': 'shen', 'age': 18, 'sex': 'male'}
print(d2)# >>>{1: 'shen', 2: 'shen'}

七、.setdefault():有返回值,有則返回查找的key對應的value,無則添加鍵值對,默認返回值是None,能夠修改

d1 = {'name':'shen','age':18,'sex':'male'}
d2 = d1.setdefault('name',123)
d3 = d1.setdefault('mmm',1)
print(d2)# >>>shen
print(d3)# >>>1
print(d1)# >>>{'name': 'shen', 'age': 18, 'sex': 'male', 'mmm': 1}

不能經過索引取值,只能經過key來取值,故是無序的,是可變類型,能夠存多個值

相關文章
相關標籤/搜索