Python基础5(dict:字典)
数组类型
数据类型划分:可变数据类型、不可变数据类型
不可变数据类型:元组, bool, int, str 可哈西
可变数据类型 :list, dict, set 不可哈西
字典(dict): key 必须是不可变数据类型,可哈西
value 任意数据类型
字典 (dict):优点:二分法去查询
存储大量的关系型数据
特点:无序的
字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如: 数字、字符串、元组。
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
增
1 dic1 = {"age": 18, "name": "jan", "sex": "male"} 2 # dic1["heea"] = 185 # 没有键值对,添加 3 # dic1["age"] = 99 #有键值对,覆盖 4 5 # dic1.setdefault("while") # 有键值对不做任何改变,没有才添加 值可为空 6 # dic1.setdefault("age", [38]) 7 # dic1.setdefault("while", 99)
删
1 dic1 = {"age": 18, "name": "jan", "sex": "male"} 2 # print(dic1.pop("age")) # 有返回值按键去删除 3 # print(dic1.pop("ss", "无此键")) #可设置返回值 4 # print(dic1.popitem()) #随机删除 有返回值 元组里面是删除的键值 5 # del dic1["age"] # del 删除 有此键删除 无此键报错 6 # del dic1["ss"] # KeyError: 'ss' 7 # dic1.clear() # 清空字典
改
1 dic1 = {"age": 18, "name": "jan", "sex": "male"} 2 # dic1["age"] = "22" # 直接修改 3 # dil2 = {"name": "77"} 4 # dic1.update(dil2) # 把第二个更新到第一个里 5 # print(dic1)
查
1 dic1 = {"age": 18, "name": "jan", "sex": "male"} 2 # print(dic1.keys(), type(dic1.keys())) # 按照键去查询 3 # print(dic1.values(), type(dic1.values())) # 按照值去查询 4 # print(dic1.items(), type(dic1.items())) # 按照键值对查询 5 # 循环查询 6 # for i in dic1.items(): # items 随意改为 keys values 或 空 例dic1 7 # print(i, type(i)) 8 # for i, v in dic1.items(): # 分别查询 9 # print(i, v) 10 # v1 = dic1["name"] # 此方法查询如果无此键,会报错v1 = dic1["name1"] 11 # print(v1) 12 # print((dic1.get("name1", "没有这个键"))) #建议使用此方法,可自定义如无此键的提示,默认为None
dict 嵌套
1 dic = { 2 'name':['alex','wusir','taibai'], 3 'py9':{'1213':123, 4 'learn_money':19800 , 5 'adder':'cbd', 6 }, 7 'age':21 8 } 9 dic['age'] = 56 10 dic['name'].append('ritian') 11 dic['name'][1] = dic['name'][1].upper()

浙公网安备 33010602011771号