Python_字典
字典是无序的,存储方式为“键:值”,键一定是唯一的,不可修改的,值是任意的
字典的创建:
dic_1 = {"name":"wangjie", "age":24, "hobby":"DOTA"} dic_2 = dict((("name", "wangjie"), ("age", 24), ("hobby", "DOTA")))
一、字典-增删改查
增加:
直接加键值对,如果键存在,则进行修改对应的值
内置方法setdefault,如果键存在,不进行改动,此内置方法有返回值,返回值为此键对应的值
dic = {"name":"wangjie"}
dic["age"] = 24 dic.setdefault("hobby", "DOTA")
查看:
dic = {"name":"wangjie", "age":24, "hobby":"dota"} dic["name"] # 通过键去查找值 dic.keys() # 查看所有的键,数据类型不是列表,但是可转为列表 dic.values() # 查看所有的值,数据类型不是列表,但是可转为列表 list(dic.keys()) # 将字典中所有的键转换为列表 list(dic.values()) # 将字典中所有的值转换为列表 list(dic.items()) # 将字典中的键值对,转换为元组的方式
修改:
dic = {"name":"wangjie", "age":24, "hobby":"dota"} dic_update = {"name":"wangjie", "age":24, "height":179} dic["age"] = 25 # 直接使用键来修改值 dic.update(dic_update) # 将update中的字典更新至老字典,相同的不进行修改,同键不同值的进行更新,没有的键增加
删除:
dic = {"name":"wangjie", "age":24, "hobby":"dota"} del dic["name"] # 删除字典中的键值对 del dic # 删除字典 dic.clear() # 将字典内数据清空 dic.pop("name") # 删除键值对,返回值
二、字典的其他操作
dic = dict.fromkeys(["node1", "node2", "node3"], "val") # 批量创建值 dic = {'c':555, 'b':333, 'a':111} print(sorted(dic)) # 字典的键排序 print(sorted(dic.values())) # 字典的值排序
字典的遍历
dic = {"name":"wangjie", "age":24, "hobby":"dota"} for i in dic: # 推荐用这种,速度快,直接打印 print(i, dic[i]) for i in dic.values(): print(i) for i in dic.items(): print(i) for i, v in dic.items(): # 数据需要转换,用这种方式,耗内存,时间长 print(i, v)