龙空技术网

软件测试/测试开发丨Python 常用数据结构-字典

测试人666 152

前言:

此刻姐妹们对“python构造字典”都比较珍视,兄弟们都想要剖析一些“python构造字典”的相关内容。那么小编同时在网摘上汇集了一些对于“python构造字典””的相关资讯,希望同学们能喜欢,姐妹们快快来学习一下吧!

本文为霍格沃兹测试开发学社学员笔记分享

原文链接:python 常用数据结构-字典 - 学习笔记 - 测试人社区

字典1、 字典使用:创建

"""字典使用:创建"""# 1、使用大括号填充键值对dc = {'name': 'Harry Potter', 'age': 18}print(type(dc), dc) #<class 'dict'> {'name': 'Harry Potter', 'age': 18}# 2、使用字典构造方法dc1 = dict()  # 空字典dc2 = dict(name="Harry Potter", age=18)  # 关键字参数赋值print(type(dc2), dc2)dc3 = dict([("name", "Harry Potter"), ("age", 18)])print(type(dc3), dc3) #<class 'dict'> {'name': 'Harry Potter', 'age': 18}# 3、使用字典推导式dc4 = {k: v for k, v in [("name", "Harry Potter"), ("age", 18)]}print(type(dc4), dc4) #<class 'dict'> {'name': 'Harry Potter', 'age': 18}
2、 字典使用:访问元素
"""字典使用:访问元素"""dc = {"name": "Harry Potter", "age": 18}# 1、访问存在的keyprint(dc["name"]) #Harry Potterprint(dc["age"]) #18# 2、访问不存在的key,会报KeyError错误print(dc['hobby'])
3、 字典使用:操作元素语法:dict[key] = value添加元素 键不存在修改元素 键已经存在
"""字典使用:操作元素"""dc = {"name": "Harry Potter", "age": 18}# 1、修改年龄,改为20dc['age'] = 20print(dc) #{'name': 'Harry Potter', 'age': 20}# 2、新增hobby字段dc['hobby'] = 'Magic'print(dc) #{'name': 'Harry Potter', 'age': 20, 'hobby': 'Magic'}
4、 字典使用:嵌套字典嵌套字典字典的值可以是字典对象
"""字典使用:嵌套字典"""dc = {"name": "Harry Potter", "age": 18, "course": {"magic": 90, "python": 80}}# 1、获取课程Magic的值print(dc['course']['magic']) #90# 2、把python分数改成100分dc['course']['python'] = 100print(dc) #{'name': 'Harry Potter', 'age': 18, 'course': {'magic': 90, 'python': 100}}
5、 字典方法 keys()
"""字典方法 keys()"""dc = {"name": "Harry Potter", "age": 18}keys = dc.keys()print(type(keys), keys) #<class 'dict_keys'> dict_keys(['name', 'age'])# 1、遍历查看所有的键for key in keys:    print(key)#name#age# 2、将视图对象转成列表print(list(keys)) #['name', 'age']
6、 字典方法 values()
"""字典方法 values()"""dc = {"name": "Harry Potter", "age": 18}values = dc.values()print(type(values), values) #<class 'dict_values'> dict_values(['Harry Potter', 18])# 1、遍历查看所有的值for value in values:    print(value)# 2、将视图对象转成列表print(list(values)) #['Harry Potter', 18]
7、 字典方法 items()
"""字典方法 items()"""dc = {"name": "Harry Potter", "age": 18}items = dc.items()print(type(items), items) #<class 'dict_items'> dict_items([('name', 'Harry Potter'), ('age', 18)])# 1、遍历查看所有的项for item in items:    print(item)#('name', 'Harry Potter')#('age', 18)# 2、将视图对象转成列表print(list(items))#[('name', 'Harry Potter'), ('age', 18)]
8、 字典方法 get()get(key)获取指定 key 关联的 value 值。入参: key:字典的键,必传。返回: 如果 key 存在于字典中,返回 key 关联的 value 值。 如果 key 不存在,则返回 None。此方法的好处是无需担心 key 是否存在,永远都不会引发 KeyError 错误
"""字典方法 get()"""dc = {"name": "Harry Potter", "age": 18}# 1、访问存在的keyname = dc['name']print(name)#Harry Potter# 2、访问不存在的keyhobby = dc.get('hobby')print(hobby) #None
9、 字典方法 update()update(dict)使用来自 dict 的键/值对更新字典,覆盖原有的键和值。入参: dc:字典对象,必传返回:None
dc = {"name": "Harry Potter", "age": 18}dc.update({"age": 20, "hobby": "magic"})print(dc) #{'name': 'Harry Potter', 'age': 20, 'hobby': 'magic'}
10、 字典方法 pop()pop(key)删除指定 key 的键值对,并返回对应 value 值。入参: key:必传返回: 如果 key 存在于字典中,则将其移除并返回 value 值 如果 key 不存在于字典中,则会引发 KeyError。
字典方法 pop()dc = {"name": "Harry Potter", "age": 18}# 1、弹出item = dc.pop("age")print(dc, item) #{'name': 'Harry Potter'} 18# 2、删除不存在的keydc.pop("hobby")  # 报错keyError
11、 字典推导式
# 未使用字典推导式的写法dc = {'a': 1, 'b': 2, 'c': 3}d_old = dict()for k, v in dc.items():    if v > 1:        d_old[k] = v ** 2        print(d_old)# 使用字典推导式d_new = {k : v ** 2 for k,v in dc.items() if v > 1 }print(d_new)
12、 实例

给定一个字典对象,请使用字典推导式,将它的key和value分别进行交换。也就是key变成值,值变成key。

输入: {'a': 1, 'b': 2, 'c': 3}

输出: {1: 'a', 2: 'b', 3: 'c'}

dc = {'a': 1, 'b': 2, 'c': 3}d_old = dict()for k, v in dc.items():    d_old[v] = kprint(d_old)#{1: 'a', 2: 'b', 3: 'c'}# # 使用字典推导式d_new = {v : k for k,v in dc.items()  }print(d_new)#{1: 'a', 2: 'b', 3: 'c'}
13、字典的总结

字典的创建:使用大括号{}、 dict()、字典推导式 访问元素:[key] 操作元素:dict[key] = value 字典可以嵌套字典 字典的方法:

keys()values()items()get()update()pop()

标签: #python构造字典