字典類型(dict)的使用


字典類型(dict)的使用

返回首頁

  在字典中要注意:字典無序,用於存儲詳細信息。字典是可變數據類型

  字典的鍵 "key" 是唯一的,並且是不可變的數據類型,但值 "value" 可以是各種的數據類型,比如是字典、列表。 

  字典是Python中,唯一具有映射關系的數據類型:可一一對應,也可一對多。  

  字典的查詢速度高於列表,字典的存儲空間會很大。

    字典的格式:{ " key " : " value " }   key是鍵,value是值。通過key獲取value。多個key value用 " , " 隔開。

  字典的常用操作有:取值、修改、添加(插入)、查看、循環、更新。

  取值:dict_name [ X ],X是key的值。通過知道key,取value值。 

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
4:["rain"], "name":"python", } print(name_dict[1]) print(name_dict[2]["name"]) print(name_dict[3]["name"]["age"]) print(name_dict[4]) print(name_dict["name"])

 

  修改:對字典里的某個值進行數據修改。

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

print(name_dict)
name_dict[1]["name"] = "George"
name_dict[2]["age"] = 19
name_dict[3]["name"]["name"] = "TOM"
name_dict[3]["name"]["age"] = 180
name_dict[4][0] = "green"
name_dict[4][1] = "180-180-180"
name_dict["name"] = "Python 3.6"
print(name_dict)

 

  添加:對value的值是列表類型的,進行append添加操作。

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

name_dict[4].append("添加")
print(name_dict)

 

  插入:給字典插入新的key和value數據。

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}
#插入的是key和value
name_dict[5] = "make"
name_dict["BMW"] = "X7"
print(name_dict)

 

  刪除:pop()方法,刪除指定的key,會返回刪除的結果。如果pop刪除的key不存在,那就附一個默認的值。

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

print(name_dict.pop(1))
print(name_dict.pop(10,None))

     popitem()方法:是可以隨機刪除一個值,因為字典是無序的。不用填寫參數,隨機刪除。

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

print(name_dict.popitem())

     del方法刪除:

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

del name_dict[2]
del name_dict["name"]
print(name_dict)

 

  查看:查看字典的某個值。 還可以判斷要查詢的key,是否在字典中。  

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

print(name_dict)  # 查看字典全部的值
print(name_dict[1])  # 查看字典指定的值,直接輸key
print(name_dict[1]["age"])  # 查看字典指定的值,直接輸key
print(name_dict["name"])  # 查看字典指定的值,直接輸key
print(name_dict.get(10))  # 當查看字典的一個值,如果不存在會報錯,為避免報錯。用get方法,如值不存在會返回None
print(name_dict.get(2))  # 當查看字典的一個值,如果不存在會報錯,為避免報錯。用get方法,如值不存在會返回None
print(name_dict.get(2)["name"])  # 當查看字典的一個值,如果不存在會報錯,為避免報錯。用get方法,如值不存在會返回None

    判斷是否在字典中。返回布爾值(bool),存在是True,不存在是False。

name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    "name":"python",
}

print(111 in name_dict)  #存在key是True,不在是False

 

  循環:循環字典的方法

print("------- loop -------")
name_dict={
    1:{"name":"george","age":28},
    2:{"name":"wang","age":20},
    3:{"name":{"name":"tom","age":18}},
    4:["rain","123455677"],
    "name":"python",
}

#這樣只會打印key
for i in name_dict:
    print(i)

#同時打印key和value (推薦用法)
for i in name_dict:
    print(i,name_dict[i])

#低效率的循環取key and value
for k,v in name_dict.items():
    print(k,v)

#循環key
print(name_dict.keys())

#循環value
print(name_dict.values())

 

  更新:update()方法。相當於合並,但是當update里的參數於前面的字典有相同的key,那么后者覆蓋前者。

#######更新 update(),相當於是將兩個字段合並
name_dict1={
    1:{"name":"george","age":28},
    3:{"name":{"name":"tom","age":18}},
    "name":"python",
}

name_dict2={
    2:{"name":"wang","age":20},
    4:["rain","123455677"],
    "age":"28",
    "name":"10",
}
#當update()參數里的字典有key和update前的字典key有重合,那么將update的key覆蓋前面的。
#name_dict2的name 覆蓋name_dict1的name
name_dict1.update(name_dict2)
print(name_dict1)

 

  formkeys( )方法:返回一個新的字典

info = {}
info1=  info.fromkeys([1,2,3],{})
info2=  info.fromkeys([1,2,3],"Test") 
print(info1)  
print(info2)

 

  

------ END ------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM