字典
一、简介
字典是一个动态的结构,支持动态的访问及修改。字典与集合的不同处在于字典是将“键”与“值”相关联,而所有的键、值都是用户自定义的。
二、新建一个字典
新建字典 = {"键1":"值1" , "键2":"值2"}
三、访问字典中的值
1、基础的访问方式
print(新建字典["键1"])
2、【get()】方法
为何要使用【get()】方法来访问值呢?因为当你希望访问的键不存在时,Python会报错,程序将无法运行。这时,可以使用【get()】方法来访问字典
新建字典 = {"键1":"值1" , "键2":"值2"}
print(新建字典.get("键2","您访问的键值不存在"))
print(新建字典.get("键3","您访问的键值不存在"))
#输出:
#值2
#您访问的键值不存在
如果此时字典中有相应的键,则会输出相应的值。但是如果没有相应的键,则输出get括号内逗号后的语句。
3、遍历字典
A、遍历字典中所有键值对
新建字典 = {
"键1" : "值1",
"键2" : "值2",
"键3" : "值3",
}
for x , y in 新建字典.items():
print(f"键为{x}")
print(f"值为{y}")
#输出:
#键为键1
#值为值1
#键为键2
#值为值2
#键为键3
#值为值3
注意:使用for循环时,必须如上添加【.items()】。这个函数的作用是将字典类型转化为可遍历的类型
B、遍历字典中所有键
for x in 新建字典.keys():
print(f"{x}为字典中的键值")
可见,可以使用【.key()】方法遍历字典中的键。但其实不使用【.key()】方法时,Python会默认遍历字典中的键。
for x in 新建字典:
print(f"{x}为字典中的键值")
上述两种代码输出的结果是相同的
a、【.keys()】方法的妙用
其实,【.keys()】方法会返回一个集合,这个集合包含了被访问的字典中所有的键值。所以,可以这样使用
if "a" in 新建字典.keys():
print("a是字典的键值")
else:
print("a不是字典的键值")
b、按特定顺序遍历字典中的所有键
在Python中,遍历字典时是按照插入的顺序返回其中元素的,如果想要排列返回的元素,可以使用【sorted()】函数
for 键值 in sorted(新建字典.keys()):
print(键值);
C、遍历字典中所有值
可以使用**【values()】方法**返回一个只包含值的列表
字典中所有的值 = 字典.values()
四、修改字典中的键值对
A、添加键值对
新建字典["新增键1"] = "值3"
print(新建字典)
#输出:
#{'键1': '值1', '键2': '值2', '新增键1': '值3'}
不难发现,新增的键值对被添加到了字典中的最末端
B、删除键值对
新建字典 = {"键1":"值1" , "键2":"值2"}
del 新建字典["键1"]
print(新建字典)
#输出:
#{'键2': '值2'}
C、修改字典中的值
新建字典 = {"键1":"值1" , "键2":"值2"}
#我需要修改键1对应的值1
新建字典["键1"] = "值3"
五、美观写法
因为Python对缩进有特殊的规定,所以有时我们并不能随心所欲的排列我们的代码。这里就介绍一种相对美观且被Python允许的字典书写格式
新建字典 = {
"键1":"值1" ,
"键2":"值2" ,
}
建立字典后,在等号后紧跟一个大括号{。之后的所有键值对都需要缩进四个空格。在最后键值对后,可以跟一个逗号来保持美观。最后一行的大括号},需要缩进四个空格