目录
先简单介绍下字典,字典是可变的无序集合,是使用键值对为基本元素的可以存储各种数据类型的集合,用大括号( { } )表示,给个键值对之间用逗号( , )分隔。再来说下键值对,就是我们常听到的Key(键)和Value(值),key和value中间用冒号( : )隔开,如 name:Atom 的Key就是 name,value就是Atom。在一个字典中,Key的值是唯一的。
1、创建字典
Atom = {"name":"Atom","age":"25","sex":"man"} #定义一个字典Atom
print(Atom) #结果为:{'name': 'Atom', 'age': '25', 'sex': 'man'}
Atom2 = {"name":"Atom2","name":"Atom","age":"25","sex":"man"} #定义一个字典Atom2,其中有两个name,这时会输出什么呢?
print(Atom2) #结果为:{'name': 'Atom', 'age': '25', 'sex': 'man'}
输出结果为:{'name': 'Atom', 'age': '25', 'sex': 'man'}
{'name': 'Atom', 'age': '25', 'sex': 'man'}
见上方代码可见,如果一个字典中有两个相同的键(Key),他只会去保存靠后的那一组元素。
2、字典里增加元素
(1)利用赋值给字典增加元素
Atom3 = {"name":"Atom3"} #创建一个字典:Atom3
Atom3["age"] = 23 #给字典Atom3中新增一组键值对 “age”:23
print(Atom3) #打印出来为:{'name': 'Atom3', 'age': 23}
Atom3["name"] = "Atom" #那我给存在的键“name”赋值为“Atom”,是会新增还是修改
print(Atom3) #打印出来为:{'name': 'Atom', 'age': 23} 如果键是相同的话,会修改键的值
输出结果为:{'name': 'Atom3', 'age': 23}
{'name': 'Atom', 'age': 23}
在给字典新增元素的前提是,键必须是一个新的值,不然的话,会把之前的键值改为最新的
(2)使用函数 setdefault()
Atom4 = {"name":"Atom4"} #创建一个字典:Atom4
Atom4.setdefault("age",23) #给字典Atom4新增一组元素 “age”:23
print(Atom4) #打印结果为:{'name': 'Atom4', 'age': 23}
Atom4.setdefault("age",24) #那如果我给Atom4中存在的元素“age”赋值为24会是什么情况
print(Atom4) #打印结果仍是:{'name': 'Atom4', 'age': 23}
输出结果为:{'name': 'Atom4', 'age': 23}
{'name': 'Atom4', 'age': 23}
使用 setdefault()新增元素时,如果新增的键值的键在字典中存在时,则修改后的值仍是之前的值不会发生改变。
3、查找字典中的值
(1)直接根据Key查找对应的值
Atom5 = {"name":"Atom5","age":25,"sex":"man"} #创建一个字典Atom5
print(Atom5["name"]) #查找key“name”对应的值 为 Atom5
输出结果为:Atom5
(2)使用函数 get()的方法查找
Atom6 = {"name":"Atom6","age":25,"sex":"man"} #创建一个字典Atom6
print(Atom6.get("name")) #查找key“name”对应的值 为 Atom6
输出结果为:Atom6
如果使用上面两种办法查找一个空值,结果各是什么?
Atom7 = {"name":"Atom7","age":25,"sex":"man"} #创建一个字典 Atom7
print(Atom7["kong"]) #查找一个空的值 返回结果为 KeyError: 'kong'
print(Atom7.get("kong")) #查找一个空的值 返回结果为 None
直接用Key值查找时,如果没有找到返回的是个报错,而使用get()方法查找不存在的键时,返回的是空值,这样的操作会更加符合业务的需要
4、修改字典中的值
(1)通过赋值修改键对应的值
Atom8 = {"name":"Atom8","age":25,"sex":"man"} #创建一个字典Atom8
Atom8["age"]=18 #把age的值改为18
print(Atom8) #打印结果为:{'name': 'Atom8', 'age': 18, 'sex': 'man'}
输出结果为:{'name': 'Atom8', 'age': 18, 'sex': 'man'}
(2)使用函数 update()
Atom9 = {"name":"Atom9","age":25,"sex":"man"} #创建一个字典Atom9
Atom9.update({"age":18,"new":"test"}) #修改字典中age的值,然后再增加一个键值对"new":"test"
print(Atom9) #输出结果为:{'name': 'Atom9', 'age': 18, 'sex': 'man', 'new': 'test'}
输出结果为:{'name': 'Atom9', 'age': 18, 'sex': 'man', 'new': 'test'}
可以看到,当使用update()函数时,如果要修改的键值对存在,则直接修改,如果键是新的,则新增一条数据
下图为公众号二维码,内容会同步发出,大家可以关注一起学习
这个是张狗子小哥哥的公众号,会分享一些平时的工作心得,可以关注看下。