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)

 

posted @ 2018-07-19 10:39  隔壁王师傅  阅读(151)  评论(0编辑  收藏  举报