保姆式带你认识字典

序列类型 字典 :

关键字 : dict

符号 : {}

键值对 : 一一对应的关系

特点: key必须是不可变类型,并且唯一。value 可以是任意类型

保姆式带你认识字典_第1张图片

dict1 = dict() # 定义一个空字典
print(dict1)
print(type(dict1)) # 输出字典类型 dict
print(len(dict1)) # 获取字典键值对数量

#字典可以有一个或者多个键值对构成,键值对与键值对之间使用逗号隔开
dict2 = {"name":"隔壁老王", "age":42, "singe_dog":True} 
print(dict2)
print(type(dict2)) # 输出字典类型 dict
print(len(dict2)) # 获取字典键值对数量

# 字典中出现了两个一样的key:"age",默认后面的value会覆盖前面的value
dict3 = {"name":"隔壁老王", "age":42, "singe_dog":True,"age":15}
print(dict3)

'''
输出结果:

{}

0
************************************************************
{'name': '隔壁老王', 'age': 42, 'singe_dog': True}

3
************************************************************
{'name': '隔壁老王', 'age': 15, 'singe_dog': True}

'''

添加数据

dict1 = dict() # 定义一个空字典
dict1['name'] = '柠栀' # 添加一个键值对到字典
dict1['age'] = 18     # 添加一个键值对到字典
print(len(dict1))     # 获取字典键值对数量
print(dict1) # 输出整个字典
'''
输出结果:
2
{'name': '柠栀', 'age': 18}

'''

 修改数据

  • 字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别
  • 修改字典中的键值对数据,直接根据键值对中的 key 值操作即可

 

dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典

# 修改key等于"name"对应的value
dict1["name"] = "隔壁老王"
print(dict1) # 输出字典

# 修改key等于"age"对应的value
dict1["age"] = 18
print(dict1) # 输出字典

# 修改key等于"sing_dog"对应的value
dict1["sing_dog"] = False
print(dict1) # 输出字典

'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': False}

'''

删除数据 

删除字典中的数据,需要根据键值对中的 key 值来删除对应的键值对,删除使用 del 关键字

dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出删除之前的字典

# 删除key等于"name"对应的键值对
del dict1["name"]
print(dict1)

# 删除key等于"age"对应的键值对
del dict1["age"]
print(dict1)

# 删除key等于"sing_dog"对应的键值对
del dict1["sing_dog"]
print(dict1)

'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'age': 38, 'sing_dog': True}
{'sing_dog': True}
{}

'''

查询数据 

查询字典中的键值对数据,操作和删除数据/修改数据一样,直接根据键值对中的 key 值操作即可

dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典

# 查询key等于"name"对应的value
print(dict1["name"])

# 查询key等于"age"对应的value
print(dict1["age"])

# 查询key等于"sing_dog"对应的value
print(dict1["sing_dog"])


'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
zhangsan
38
True

'''

字典常用方法 

1、len函数:获取字典长度

2、update函数:将一个字典添加到另外一个字典的末尾,把两个字典合并到一个字典,因为字典的key唯一性,所以当字典合并时候,key如果不存在就添加key,value,存在就修改value值

3、clear函数:清空字典

4、setdefault函数:如果不存在就添加

dict1 = {"name":"zhangsan","age":38} # 定义一个字典
print(dict1) # 输出字典
dict2 = {"sing_dog":True} # 定义一个字典
print(dict2)

print("***"*20) # 小窍门:直接答应60个*
# update()函数:将一个字典添加到另外一个字典的末尾
dict1.update(dict2)
print(dict1) # 输出字典

print("***"*20) # 小窍门:直接答应60个*
# 清空字典dict1
dict1.clear()
print(dict1) # 空字典
# 清空字典dict2
dict2.clear() 
print(dict2) # 空字典


'''
输出结果:
{'name': 'zhangsan', 'age': 38}
{'sing_dog': True}
************************************************************
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
************************************************************
{}
{}

'''

字典的遍历 

获取所有的键

info = {"name": "柠栀", "age": 18}
# 获取所有的键
# print(info.keys())
for temp in info.keys():
    print(temp)

获取所有的值

info = info = {"name": "柠栀", "age": 18}
# 获取所有的值
# print(info.values())
for temp in info.values():
    print(temp)

 获取所有的键和值

info = {"name": "柠栀", "age": 18}
# 获取所有的键和值
# 方法一
for temp in info.items():
    print("key=%s---value=%s" % (temp[0], temp[1]))
# 方法二    
for temp_a, temp_b in info.items():
    print("key=%s---value=%s" % (temp_a, temp_b))

 

 

你可能感兴趣的:(开发语言,python)