Python字典
爪哇斗罗 人气:0一. 什么是字典
字典作为Python的一个内置数据结构,和列表一样都是可变序列的,但是它是无序的,以键值对的方式存储数据。
二. 创建字典
创建字典的两种方式,一种使用{ } 另一种使用内置函数dict()
# author: 爪哇斗罗(javaDouLuo) # date: 2022/7/11 22:51 # 字典的创建 dict01={"A": 1, "B": 2, "C": 3} # {'A': 1, 'B': 2, 'C': 3} print(dict01) dict02=dict(a=1, b=2,name="zs") # {'a': 1, 'b': 2, 'name': 'zs'} print(dict02)
三. 字典元素获取
获取字典元素有两种,通过[]或者get()方法获取,两者的区别就是前者当key不存在会抛出异常,后者不会抛出异常,会返回None
# author: 爪哇斗罗(javaDouLuo) # date: 2022/7/11 22:51 # 字典的创建 dict01 = {"A": 1, "B": 2, "C": 3} # 字典的元素获取 # 1 print(dict01["A"]) # 3 print(dict01.get("C")) # KeyError: 'D' # print(dict01["D"])
四. 字典元素的增删改操作
使用not in与 in判断字典元素中的key是否存在,这一点与列表的用法是相同的。当然也可以对字典中的元素进行增删改的操作。
删除键值对使用del, 增加字典元素与修改字典元素的操作是一样的,就是有key与无key的区别。
# author: 爪哇斗罗(javaDouLuo) # date: 2022/7/11 22:51 # 字典的创建 dict01 = {"A": 1, "B": 2, "C": 3} # True print("A" in dict01) # False print("A" not in dict01) # 删除 B del dict01["B"] # {'A': 1, 'C': 3} print(dict01) # 增加元素 D dict01["D"]=4 # {'A': 1, 'C': 3, 'D': 4} print(dict01) # 修改D的值 dict01["D"]=40 # {'A': 1, 'C': 3, 'D': 40} print(dict01)
五. 字典的视图操作
通过keys(),values(),items()可以分别获取字典中的所有键,所有值,所有键值对。
# author: 爪哇斗罗(javaDouLuo) # date: 2022/7/11 22:51 # 字典的创建 dict01 = {"A": 1, "B": 2, "C": 3} # 获取所有的key keys = dict01.keys() # 类型为 <class 'dict_keys'> print(type(keys)) # dict_keys(['A', 'B', 'C']) print(keys) # 转化为列表 ['A', 'B', 'C'] print(list(keys)) # 获取所有的value values = dict01.values() # 类型为 <class 'dict_values'> print(type(values)) # dict_values([1, 2, 3]) print(values) # 转化为列表 [1, 2, 3] print(list(values)) # 获取所有的键值对 items = dict01.items() # <class 'dict_items'> print(type(items)) # dict_items([('A', 1), ('B', 2), ('C', 3)]) print(items) # 元组的数据结构 [('A', 1), ('B', 2), ('C', 3)] print(list(items))
当然也可以使用以下的方式去遍历字典元素:
# author: 爪哇斗罗(javaDouLuo) # date: 2022/7/11 22:51 # 字典的创建 dict01 = {"A": 1, "B": 2, "C": 3} # A 1 1 # B 2 2 # C 3 3 for item in dict01: print(item,dict01[item],dict01.get(item))
字典的总结如下:
字典中的key不允许重复,value可以
其中key为不可变对象
字典中的元素是无序的
字典根据需要动态伸缩,但字典会浪费较多的内存空间
加载全部内容