Python的组合数据类型 字典dict
特点:字典中的每个元素是由冒号分隔开的键和值组成
字典是无序的
字典用花括号{ }表示,元素之间用逗号隔开
字典中可以包含任意数量的键值对
字典中的键是不可变数据,如:字符串、整数、元组等。键不可以重复,值可以重复
创建字典:
创建字典可以用{ }直接表示
>>>{1:"A",2:"B",3:"C"}
创建字典可以使用dict()函数,函数的参数只能是一个序列,不能是多个序列,所以要使用多个圆括号
>>>dict(((1,"A"),(2,“B”),(3,"C")))
>>>{1:"A",2:"B",3:"C"}
访问字典中的值:
访问字典中的值用字典名[键]来表示。如果该键不在字典中,出现报错
>>>dic = {"A":101,"B":102,"C":103}
>>>dic["B"]
>>>102
更新字典:
字典是一种动态结构,所以可以对字典中的键值对进行修改和删除。注意,键值对中的排列顺序与添加顺序不同。Python不关心字典中元素的排列顺序,只关心字典中键和值的映射关系,所以字典也称为关联数组
>>>dic = {1:10,3:20,4:60}
>>>dic[1]=50
>>>dic={1:50,3:20,4:60}
删除键值对:
删除键值对使用del函数,del函数删除后的键值对不能再使用
>>>dic ={"薯片”:4,“虾条”:4,“牛奶”:2}
>>>del dic["牛奶”]
>>>dic = {"薯条”:4,“虾条”:4}
基本操作:
(1)clear()
clear()函数用来清空字典中的键值对,该方法没有返回值
>>>dic ={1:"香蕉”,2:“苹果”,3:“橘子”}
>>>dic.clear()
>>>dic
>>>{ }
(2)copy()
copy()函数用来复制字典中的所有键值对,但返回的并不是原来字典的副本
>>>dic={"张三”:34,“李四”:88,“壬午”:22}
>>>st = dic.copy()
>>>st
>>>{"壬午”:22,"张三”:34,"李四”:88} #从这里可以看出,字典关注的是键和值的对应关系
(3)get()
get()方法用来获得字典中,键对应的值,如果键不存在就返回默认的值。
get(x,y):其中x表示的是字典中的键,y表示的是默认的值
>>>dic={"张三”:34,“李四”:88,“壬午”:22}
>>>dic.get("李四”)
>>>88
>>>dic.get("戊戌”,“27”)
>>>27 #戊戌不属于字典dic中,所以返回默认值
(4)items/values/keys
items()返回字典中所有的键值对,类型为dict_items
>>>dic={"张三”:34,“李四”:88,“壬午”:22}
>>>dic.items()
>>>dict_items([(“张三”:34),(“李四”:88),(“壬午”:22)])
keys()返回字典中的所有的键,类型为dict_keys
>>>dic={"张三”:34,“李四”:88,“壬午”:22}
>>>dic.keys()
>>>dict_keys(["张三”,“李四”,“壬午”])
values()返回的是字典中所有的值,类型为dict_values
>>>dic={"张三”:34,“李四”:88,“壬午”:22}
>>>dic.values()
>>>dict_values([34,88,22])
(5)update
update()用于将一个字典中的键值对更新到另一个字典中。函数没有返回值
>>>dic1 ={"张三”:34,“李四”:88,“壬午”:22}
>>>dic2 ={"戊戌”:45}
>>>dic1.update(dic2)
>>>dic1
>>>{“张三”:34,“李四”:88,“壬午”:22,“戊戌”:45}