数据类型之字典
字典:可以存放多个有明确意义的键值对
格式:
-
# {key:value} #key 是不可变类型,且key是不能重复的 #value 是可变类型,可以是任意数据类型
创建字典
-
l = dict(x=1,y=2,z=3) print(l) #运行结果 {'x': 1, 'y': 2, 'z': 3} info = [["name","nala"],("age",18)] d = {} for k,v in info: print({k,v}) #运行结果 {'name', 'nala'} {'age', 18} res = dict(info) print(res) #运行结果 {'name': 'nala', 'age': 18} key = ["name","nala"] d = dict().fromkeys(key,None) print(d) #运行结果 {'name': None, 'nala': None}
key取值:可存可取
- 当key存在时,再赋值则是修改
- 当key存在时,则创建新的值
长度len:统计个可以是统计key,value,items
in 与 not in:根据key判断这个值是否存在字典中
删除:
- del:数据删除后没有返回值
- pop:根据key删除,则返回值为value
- popitems:随机删除返回值是items(items是元组表示的,由key和value组成)
-
#del info = {'name': 'nala', 'age': 18} del info["name"] print(info) #运行结果 {'age': 18} #pop info = {'name': 'nala', 'age': 18} info.pop("name") print(info) #运行结果 {'age': 18} #popitme info = {'name': 'nala', 'age': 18} info.popitem() print(info) #运行结果 {'name': 'nala'}
键,值,键值对:
- key:键
- value:值
- items:键值对
-
l = {'name': 'nala',"age":600,"sex":"male"} for key in l: print(key) #运行结果 name age sex for value in l.values(): print(value) #运行结果 nala 600 male for items in l.items(): print(items) #运行结果 ('name', 'nala') ('age', 600) ('sex', 'male')
内置方法:
clear:清除
update:更新
-
l = {'name': 'nala',"age":600,"sex":"male"} l.update({'name': 'lisa',"age":18,"sex":"female"}) print(l) #运行结果 {'name': 'lisa', 'age': 18, 'sex': 'female'}
get:指定的键不存在返回None
-
l = {'name': 'nala',"age":600,"sex":"male"} print(l.get("name1")) #没有找到name1 print(l.get("name")) #运行结果 None nala
setdefault:
- 如果key存在于字典中,则不添加并且返回key的值
- 如果key不存在于字典中,则会添加key并且返回key的值
-
l = {'name': 'nala',"age":600} print("age 键的值为 : %s" % l.setdefault('age', None)) print("sex 键的值为 : %s" % l.setdefault('sex', None)) # 运行结果 age 键的值为 : 600 sex 键的值为 : None
总结:
有序的类型为:列表,元组
可存多个值的类型为:列表,元组,字典
可变类型:列表,字典
不可变类型:元组