字典:dict
特點:
1>,可變容器模型,且可儲存任意型別物件,字串,列表,元組,集合均可;
2>,以key-value形式存在,每個鍵值 用冒號 : 分割,每個鍵值對之間用逗號 , 分割;
3>,通過key訪問value;key與value是對應的,一個字典中每個key是唯一的,但value則沒有現在;
4>,有序的,但在python3.6版本之前,字典是無序的。
1、定義空字典
name_dict = {}
name_dict = dict() # 一般用資料型別之間的轉換
2、定義一個非空字典
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
key--name, value --dasb, key:value-->"name":"dasb";
3,通過key訪問value
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]} print(name_dict["name"]) hobby_list = name_dict["hobby"] print(hobby_list) print(hobby_list[0])
4,增加一個元素
說明:如果key不存在,則新增。如果key存在則修改
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]} # key不存在新增 name_dict["sex"] = "zx" print(name_dict) # key存在則修改 name_dict["name"] = "csb" print(name_dict)
5,字典中常用的方法之
clear():清空字典中所有元素
同樣可使用此方法 型別的還有列表(list),集合(set)
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]} name_dict.clear() print(name_dict)
6,字典中常用的方法之
formkeys(): 初始化一個字典
說明:如果一個列表用foemkers轉化為字典時,列表中的元素則轉化為key鍵,如果轉化時不加value,則key鍵對應的value為None,如果新增,value則為同一個新增的值,
例如:
name_dict = dict() name_list = ["name", "age"] name1_dict = dict.fromkeys(name_list) print(name1_dict) name2_dict = dict.fromkeys(name_list, 35) print(name2_dict)
如果列表中的元素是以元組tuple的方式存在的,則可以直接用dict轉化;
例如:
name_list = [("name", "dasb"), ("age", 35), ("hobby", ["love sb", "love mlt"])] name_dict = dict(name_list) print(name_dict)
7,字典中常用的方法之
get(key):通過key 獲取value值,如果key不存在則返回None
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]} name_value = name_dict.get("name") # 存在的key name_value = name_dict.get("sex") # 不存在key,返回None name_value = name_dict["sex"] # 不存在key,則會報:KeyError: 'sex' print(name_value)
8,字典中常用的方法之
items():把字典中每一對key 和value 以元組的形式儲存在列表中
例如:
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} print(name_dict.items())
利用for迴圈,獲取key和value
第一種方法:
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} for name in name_dict.items(): key, value = name print(key, value)
第二種方法:
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} for name in name_dict.items(): key = name[0] value = name[1] print(key, value)
9,字典中常用的方法之
keys():把字典中所有的key,儲存在一個序列中
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} print(name_dict.keys())
也可以利用迴圈,通過Key鍵獲取value
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} print(name_dict.keys()) for key in name_dict.keys(): value = name_dict.get(key) print(key,value)
10,字典中常用的方法之
pop(key):通過key刪除字典中的元素
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} name_dict.pop("name") print(name_dict)
11,字典中常用的方法之
popitem():預設刪除字典中最後一個元素
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} name_dict.popitem() print(name_dict)
12,字典中常用的方法之
setdefault():以元組的方式新增一個元素,key不存在則新增元素,key存在則不做任何修改
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} name_dict.setdefault("sex", "中性") name_dict.setdefault("name", "csb") print(name_dict)
13,字典中常用的方法之
update():新增多個元素,如果key存在則更新,如果不存在則新增
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"} teacher_dict = {"age": 23, "eat": "sb", "phone": "123456789"} name_dict.update(teacher_dict) print(name_dict)
14,字典中常用的方法之
values():把字典中所有value值儲存在一個序列中,用法同keys
例如:
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
print(name_dict.values())