第四节:基本数据类型之字典(dictionary)

字典

字典也是一种集合,其元素包含两部分,key和value,对元素的个数没有限制

可以动态的增加删除元素,插入元素时不能指定位置

字典使用{}进行表示,字典表达式为:dict={key:value}

字典中的key值是唯一值,为不可变类型,可以为字符串,数字和元组

value值可以重复,并且value可以为多种数据类型

创建字典的方式:

1、d={key:value,key1:value1};d=dict(key=value,key1=value1)

创建空字典:d={}

 

2、使用映射方式创建字典

zip(list1,list2):其中两个列表的长度一致,并且根据列表元素所在位置进行一一映射

使用zip映射时,生成的是生成器对象,要转换为字典

list1=["name","age",3]
list2=[2,2,2]
name=zip(list1,list2)
print(dict(name))
print(type(dict(name)))
 
3、使用参数进行创建字典:
d=dict(cat=10,age=20)

当创建字典时,如果key值相同,那么最后的一个key对应的value覆盖其他相同的key。

字典的特性

1、在一个字典中,不允许同一个键出现两次,也就是键不能相同

2、字典中的键必须为不可变的,可以使用数字,元组或字符串,但是不可使用列表

字典的基本接口函数

1、计算元素的个数:

len(dict)

2、添加元素,通过key和value值进行添加元素:

dict[key]=value

3、修改元素的值:

dict[key]=value

4、通过key值获取元素的值:

dict.get(key,default=None)

dict代表指定字典,key代表字典中要查找的键,default代表指定的键不存在时返回的默认值。该方法返回结果为指定键的值,如果键不在字典中,就返回默认值None。

可以设置默认值

如:

d=dict(cat=10,age=20)
print(d.get("name","不存在"))

 这里的意思是没有找到key值时默认输出不存在

5、返回一个字典的所有键:

dict.keys()

dict代表指定字典,keys()方法不需要参数。返回结果为一个字典的所有键,所有键存放于一个元组数组中,元组数组中的值没有重复的。

6、返回字典中的所有值:

dict.values()

dict代表指定字典,values()方法不需要参数。返回结果为字典中的所有值,所有值存放于一个列表中,与键的返回不同,值的返回结果中可以包含重复的元素

7、获取键值对的列表:

dict.items()

该值的类型为dict_items,可以使用遍历方式 for in 来获取元素,得到的元素是一个元组,如: for i in dict.items()  其中‘i’的数据类型为元组

8、更新值,也就是使用一个字典对另外一个字典的值进行更新,如果更新字典的key值在被更新字典中含有则更新覆盖,若无则被更新的字典中添加元素:

dicta.update(dictb)

如:a.update(b),b字典中key值如果在a字典中存在,那么更新覆盖a字典的值,如果不存在,则在a字典中新增b字典的值。

注意:a字典的值会变化,b字典的值不会变化

9、清除字典中的所有元素:

dict.clear()

10、删除指定的键以及值:

dict.pop(key)

11、复制字典,返回一个新的字典,字典中的元素与原来的一致:

dict1=dict.copy()

dict1与dict中每个元素都是一致的

12、in操作符,用于判断某个值是否存在于字典的key或者values中,如果存在则为true,不存在则为false:

key in dict.keys()/value in dict.values()

13、not  in 操作符,用于判断某个值是否不存在于字典中的key或value中,如果不存在则为true,存在则为false:

key not in dict.keys()/value not in dict.values()

 14、删除整个字典

del dict

删除字典后就不能进行访问了

 15、formkeys()方法

用于创建一个新的字典

语法格式:

dict.fromkeys(seq[,value])

dict代表指定字典,seq代表字典键值列表,value代表可选参数,设置键序列(seq)的值。

fromkeys()如果没有设定value值,那么每个键默认对应的值为None,如果有值,那么每个键对应的值为设定的值

16、setdefault()方法

用于获得于给定键相关的值

语法格式:

dict.setdefault(key,default=None)

dict代表指定字典,key代表查找的键值,default代表键不存在时设置的默认键值

setdefault()方法返回key在字典中对应的值,如果键不存在于字典中,就会添加键并将值设为默认值,然后返回新设置的默认值。

posted on 2023-02-13 14:59  搬家小蜜蜂  阅读(130)  评论(0)    收藏  举报

导航