一、字典
字典(Dictionary)指一種可變的容器,這個容器可以存儲任意類型的數(shù)據(jù)。
字典里的每個元素為一個鍵值對,鍵值對格式如下:key : value
key被稱為鍵值,它在字典中的值是唯一的(不能重復(fù))。
value被稱為值,它在字典中可以不唯一(可以重復(fù))。
每個鍵值對用英文冒號:分割
1. 字典格式如下: dict1 = {key1: value1, key2: value2 …}
dict1為表示字典的變量,字典的內(nèi)容被一個大括號{}包含。
一個字典中可以有多個鍵值對,每個鍵值對用英文逗號,分隔
2. 字典特性:
? 字典中的鍵值可以是字符串,數(shù)字或元組類型。
? 字典中的鍵值(key)不可改變,但是值(value)可以被改變。
? 字典與列表和元組不同,字典的存儲方式是無序的,列表和元組中的元素都是有序的,即字典中的元素沒有順序可言。
3. 字典的創(chuàng)建和訪問 : value = dict1[key]
#構(gòu)建一個空字典:dict()是Python的內(nèi)置函數(shù)。
dict1 = {} # 或者 dict1 = dict()
print(dict1)
#構(gòu)建小明的信息表字典:
dict2 = {"name": "小明", "birth": "2005/06", "code": 1}
print(dict2)
#訪問小明的信息表字典:
name = dict2["name"]
print(name)
輸出
{}
{'name': '小明', 'birth': '2005/06', 'code': 1}
小明
4. 字典的添加, 修改, 清空clear(), 刪除del
#添加
dict1 = {"name": "小明", "birth": "2005/06"}
dict1["phone"] = "12345678"
#添加電話號碼的信息,鍵值為字符串"phone",對應(yīng)的值為字符串"12345678"
dict1["code"] = 1 #添加編號的信息,鍵值為字符串"code",對應(yīng)的值為數(shù)字1
print(dict1)
#修改
dict1 = {"name": "小明", "birth": "2005/06", "code":1}
dict1["birth"] = "2007/09" #修改鍵值為"birth"對應(yīng)的值
dict1["code"] = 3 #修改鍵值為"code"對應(yīng)的值
print(dict1)
#清空
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
dict1.clear() #清空字典
print(dict1)
#刪除
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
del dict1["birth"] #刪除鍵值為"birth"的元素
del dict1["code"] #刪除鍵值為"code"的元素
print(dict1)
輸出
{'name': '小明', 'birth': '2005/06', 'phone': '12345678', 'code': 1}
{'name': '小明', 'birth': '2007/09', 'code': 3}
{}
{'name': '小明'}
5. 字典常用內(nèi)置函數(shù): keys()、values()、items()、get()、update()
5.1. keys() 獲取字典所有的鍵值,返回的結(jié)果為一個迭代器
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
iter = dict1.keys()
print(iter) #打印迭代器
list1 = list(iter) #將迭代器轉(zhuǎn)換成列表
print(list1)
輸出
dict_keys(['name', 'birth', 'code'])
['name', 'birth', 'code']
5.2. values() 獲取字典所有的值,返回的結(jié)果為一個迭代器
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
iter = dict1.values()
print(iter) #打印迭代器
list1 = list(iter) #將迭代器轉(zhuǎn)換成列表
print(list1)
輸出
dict_values(['小明', '2005/06', 1])
['小明', '2005/06', 1]
5.3. items() 獲取字典所有的鍵值對,返回的結(jié)果為一個迭代器
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
iter = dict1.items()
print(iter) #打印迭代器
list1 = list(iter) #將迭代器轉(zhuǎn)換成列表
print(list1)
輸出
dict_items([('name', '小明'), ('birth', '2005/06'), ('code', 1)])
[('name', '小明'), ('birth', '2005/06'), ('code', 1)]
5.4. get(key,default)可獲取指定鍵值key所對應(yīng)的值value。
當(dāng)指定的鍵值key不在字典中時,返回default所設(shè)置的值
dict1 = {"name": "小明", "birth": "2005/06", "數(shù)學(xué)": 95}
math = dict1.get("數(shù)學(xué)", 0) #根據(jù)鍵值"數(shù)字"獲取對應(yīng)的值
print(math)
English = dict1.get("英語", 0) #根據(jù)鍵值"英語"獲取對應(yīng)的值,如果該鍵值不在字典中,則返回0
print(English)
輸出
95
0
5.5. update()可將一個字典添加到另一個字典中。
dict1.update(dict2) 功能:將字典dict2的鍵值對添加到字典dict1中文章來源:http://www.zghlxwxcb.cn/news/detail-440967.html
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
dict2 = {"語文": 95, "數(shù)學(xué)": 100, "英語": 98}
dict1.update(dict2)
print(dict1)
輸出文章來源地址http://www.zghlxwxcb.cn/news/detail-440967.html
{'name': '小明', 'birth': '2005/06', 'code': 1, '語文': 95, '數(shù)學(xué)': 100, '英語': 98}
到了這里,關(guān)于【Python數(shù)據(jù)類型-字典】------- PYTHON基礎(chǔ)12的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!