python 字典

字典(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(键值对)创建一个字典
永远的新手
原文地址:https://www.cnblogs.com/chenzhanxu/p/14771620.html