字典

dict   字典
--Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
--如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
#字典放入数据把数据放入dict的方法,除了初始化时指定外,还可以通过key放入
d['Adam'] = 67
d['Adam']
67

#判断是否存在数
'Thomas' in d
#二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
d.get('Thomas')
d.get('Thomas', -1)
#字典:以大括号形式的键值对数据组合,{"name":"张三","age":18}
#提示一下:一般key(99% 都是字符串类型)
#不可变类型 :数字 元组 可变类型:变量 列表
my_dict = {"name":"张三","age":18}

print(my_dict,type(my_dict))
#字典是无序的(没有下标的概念,)
#通过key值来取value
value = my_dict["name"]
print(value)
#如果没有此键,使用[]会崩溃
# value = my_dict["sex"]
# print(value)
#如果使用get方式取值不会崩溃,会返回None
#get也可以设置字典的默认值,增加了一个元素
result = my_dict.get("sex")

print(result)

print(my_dict)

#

字典的增删改查

#定义一个空的字典
my_dict = {}
print(my_dict,type(my_dict))

#给字典增加键值对
my_dict["name"] = "张三"
#key是唯一的(如果增加重复,会更新value)
# my_dict["name"] = "李四"
my_dict["age"] = 18
my_dict["sex"] = "女"
my_dict["address"] = "上海"
print(my_dict)
#修改键值对
my_dict["age"] = 66
print(my_dict)

#删除(删除整个字典)
# a = 10
# del a
# print(a)
# del my_dict
# print(my_dict)
del my_dict["age"]
print(my_dict)
#字典还是无序的

my_dict = {"name":"张三","age":18,"sex":"男"}
#随机删除
# value = my_dict.popitem()
# print(my_dict,value)
#指定数据删除(返回值是删除数据的value)
value = my_dict.pop("age")
print(my_dict,value)
#获取所有的value
result = my_dict.values()
print(result)
#获取所有的key
keys = my_dict.keys()
print(keys)

#判断key是否在字典里面
result = "age" in my_dict
print(result)