字典(dict):以键值对的方式存在,以大括号为标志、在字典里面键是不能修改的,值可以修改 语法格式:字典名 = {key1:value1,key2:value2,.......} note:是无序的类型,建必须唯一,值不必。索引是以键为下标,不能索引键对应的值,键不能为列表
特点: 1.键值之间必须用冒号(:)隔开 2.项与项之间必须用逗号(,)隔开 3.字典中的键必须是唯一的,而值可以是重复的
1.字典赋值和创建字典 2.字典的基本操作 3.映射类型的操作符 4.映射的相关函数 5.字典的方法
一、映射:输入和输出对应,字典是python里面最强大数据类型之一 键和值是一一对应的,就是一种映射类型、哈希值 特点:键是唯一的、值可以是不唯一的,可以吧字典看成一个容器,满足与索引,切片,增删改查,可以储存无数 个python对象类型,列表是不可以作为键的字典和序列区别: 1.索引的方式不同 2.存取和访问的数据类型不同 3.值最好是以字符串的形式存在(虽然可以是各种类型的数据) 4.字典是无序排列 5.由键值直接映射到值
dict()函数-可以将序列转换为字典 变量名1=[(key,values),(),()] 语法格式: 变量名2 = dict(变量名1)
查看键的值:字典名.[键名]
修改字典:找到修改数的下标,然后修改 语法格式:字典名[键名]=值 字典中重复的键,后面的键会把前面的键给覆盖
添加一个新元素的方法: 语法格式:字典名[新的键] = 新的值 note:如果输人的元素名是新的就会添加到字典之中
删除字典:删除指定字典或者整个字典 note:删除整个字典后无法访问 语法格式:del 字典名[键名] pop方法: 语法格式:字典名.pop(键名) 弹出值的键名
note:1.键不能出现第二次,否则同一个键会赋值二次,系统会选择最后一次的值 2.键不能用列表,可以是字符串、数字、元组等
len函数-用于计算字典元素的个数或者键的总数 语法格式:len(字典名)
type函数-用于返回字典类型或者字典元素类型 语法格式:type(字典名)或者type(字典名[元素名(键的名)])
dict与list的特点: dict---查找与插入速度快,不会随着key的增加而变慢 缺点:内存占用、浪费大 list---查找与插入速度慢随着key的增加而变慢 缺点:内存占用、浪费小
字典的方法; clear()方法-用来删除字典内的所有的元素 语法格式:字典名.clear()
copy()方法-复制一个字典 语法格式:字典名2 = 字典名1.copy()
fromkeys()方法-用来创建一个新的字典,seq为字典的键,value为字典键对应的初始值 语法格式:字典名1 = dict.fromkeys(seq,value=None) note:如果fromkeys给键建立新的字典,那么键对应的值为None 如果seq是字符串,会切片 如果seq是列表,会直接输出
get()方法-返回指定的值,否则就返回默认值None 语法格式:字典名.get(key,defaull=None) note:key代表键,default代表键对应的值,如果没有就返回默认值None
key in dict方法-判断字典的键是否在字典之中 在就返回True,否则返回False 语法格式:元素值 in 字典名 a. 变量名.has_key()方法,比如:adict.haskey('name')有--》True,无--》False b. in、not in 比如:'name in adict 有--》True,无--》False
items()方法-以列表嵌套返回元组数组 语法格式:字典名.items()
setdefault()方法-获取与键相关的键值,如果键不在字典之中就会添加该键并将值设为默认值 语法格式:字典名.setdefault((key,default=None)或者(键,键值)) note:key代表查找的键值,default代表键不存在的时候设置为默认值。该方 法无返回值
update方法-把字典2更新到字典1之中 语法格式:字典名1.update(字典名2) note:如果相同的key会覆盖
values()方法-以列表的形式返回字典中所有值,返回列表中的元素可以包含重复的元素 语法格式:list(字典名.values()) keys()方法-以列表返回一个字典的所以的字 语法格式:字典名.keys()
cmp()方法;比较长度 语法格式:cmp(字典名1,字典名2) note:字典名1 > 字典名2 返回1 字典名1 < 字典名2 返回-1 字典名1 = 字典名2 返回0 (要一模一样,键与值一样)
映射相关函数: 1.len():查看长度 2.工厂函数dict() 语法格式:dict(键值对)创建一个字典