08.Python开发基础(数据类型之字典)
一、字典数据类型的特性
01.是key-value型的数据类型,其中key必须为不可变数据数据,且得唯一; 02.可存放多个值,可修改(value可修改,key可删除),无序的(数据量多的时候就会无序); 03.字典的查询速度要比列表和元组要快,因为是hash键(key); 04.字典的查询速度不受字典的大小影响;
二、字典的几种创建方式
## 创建方式的格式
第一种方法:字典名 = {"key1":"value","key2":"value"} # 常用
第二种方法:字典名 = dict(key1="value",key2="value") # 常用
第三种方法:字典名 = dict({"key1":"value","key2":"value"}) # 不常用
第四种方法:字典名 = {}.fromkeys(keys,value) # 批量生成键(key),记住就可以
## 创建方式的示例
# 字典名 = {"key1":"value","key2":"value"} 示例
>>> info1 = {"name":"chenliang","age":"26"}
>>> type(info1)
>>> info1
{'name': 'chenliang', 'age': '26'}
# 字典名 = dict(key1="value",key2="value") 示例
>>> info2 = dict(name="chenliang",age="26")
>>> type(info2)
>>> info2
{'name': 'chenliang', 'age': '26'}
# 字典名 = dict({"key1":"value","key2":"value"}) 示例
>>> info3 = dict({"name":"chenliang","age":"26"})
>>> type(info3)
>>> info3
{'name': 'chenliang', 'age': '26'}
# 字典名 = {}.fromkeys(keys,value) 示例
>>> keys = list(range(1,6))
>>> keys
[1, 2, 3, 4, 5]
>>>
>>> info4 = {}.fromkeys(keys,"chenliang")
>>> type(info4)
>>> info4
{1: 'chenliang', 2: 'chenliang', 3: 'chenliang', 4: 'chenliang', 5: 'chenliang'}
三、字典的常用操作总结/示例
## 查询的相关方法总结
字典名.keys() # 查看字典中有哪些key
字典名.values() # 查看字典中有哪些value
"key1" in 字典名 # 查看key1键是否在字典中存在
字典名["key1"] # 查看字典中key1键对应的value,若key不存在,则会报错
字典名.get("key1") # 若key存在,则返回相应的值,若不存在不会报错
## 查询的相关方法示例
>>> info1 = dict(name="chenliang",sex="男",age="26") >>> type(info1)>>> info1 {'name': 'chenliang', 'sex': '男', 'age': '26'} >>> >>> >>> info1.keys() dict_keys(['name', 'sex', 'age']) >>> >>> >>> info1.values() dict_values(['chenliang', '男', '26']) >>> >>> >>> "name" in info1 True >>> >>> >>> info1["name"] 'chenliang' >>> >>> >>> info1.get("age") '26' >>> info1.get("height") >>>
## 增加/修改的相关方法总结
字典名["key"] = "value" # 若key在字典中存在,则会修改存在key的value
字典名.setdefault("key","value") # 若key在字典中存在,则会返回存在key对应的value
## 增加/修改的相关方法示例
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '26'}
>>>
>>>
>>> info1["age"] = "27"
>>> info1["age"]
'27'
>>>
>>>
>>> info1.setdefault("age","28")
'27'
>>> info1["age"]
'27'
>>>
>>>
>>> info1.setdefault("height","170")
'170'
>>> info1["height"]
'170'
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '27', 'height': '170'}
## 合并的相关方法总结
字典1.update(字典2) # 将字典2中的数据合并到字典1中
## 合并的相关方法示例
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '27', 'height': '170'}
>>>
>>>
>>> info2 = dict(course="Python")
>>> info2
{'course': 'Python'}
>>>
>>>
>>> info1.update(info2)
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '27', 'height': '170', 'course': 'Python'}
## 删除的相关方法总结
字典名.pop("key") # 删除指定的key
字典名.popitem() # 随便删除1个key
del 字典名["key"] # 删除指定的key
字典名.clear() # 清空dict
## 删除的相关方法示例
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '27', 'height': '170', 'course': 'Python'}
>>>
>>>
>>> info1.pop("course")
'Python'
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '27', 'height': '170'}
>>>
>>>
>>> info1.popitem()
('height', '170')
>>> info1
{'name': 'chenliang', 'sex': '男', 'age': '27'}
>>>
>>>
>>> del info1["sex"]
>>> info1
{'name': 'chenliang', 'age': '27'}
>>>
>>>
>>> info1.clear()
>>> info1
{}
四、字典的循环方法和相关示例
## 字典循环推荐方法总结
for k in dic
## 字典循环推荐方法示例
# 定义字典info1
info1 = {'name': 'chenliang', 'sex': '男', 'age': '27', 'height': '170'}
# for循环
for k in info1:
if k == "age":
print(k,info1[k])