python数据分析-数据结构之字典

字典属于映射类数据,由键和值来构成是一种可变容器模型,且可存储任意类型对象。字典的每个键值对用冒号分割,每个键值对之间用逗号分割,用花括号 { }表示。字典数据的存储也是无序的,可以通过访问key来得到value。

字典的创建

1、a = {1:‘a’,2:‘b’,3:‘c’,4:‘d’,5:‘e’} #注意,这里key用数值型是可以的!项目中这种方法是比较常用的。
在这里插入图片描述

2、b = dict(((1,‘a’),(2,‘b’),(3,‘c’),(4,‘d’),(5,‘e’))) #这里要注意dict()只允许传入一个参数,所以要把里面的元素括起来,否则报错。而且,这里的key也是可以使用数值型的!
在这里插入图片描述

3、c = dict(a1=‘a’,a2=‘b’,a3=‘c’,a4=‘d’,a5=‘e’)
注意这里我是用的a1、a2、a3、a4、a5作为key的,为什么没有直接用1、2、3、4、5呢?当然是不允许了,python规定当用等号这种方式的时候,key不能是数字类型(包括int和float),因为等号在这里依旧是赋值的意思(我猜的),把字符串赋值给了常量再操作的时候会引起混乱(如果1 = a,2 = b,求1+2是等于3还是等于a+b就乱了,所以不行),于是我就想如果把1转成字符串类型是否可以,结果证明也不行。。。我用图片给大家展示一下,如果有问题的话,欢迎大家提出。这是用数字作为key的报错:SyntaxError: expression cannot contain assignment, perhaps you meant “==”?
在这里插入图片描述

字典的常用方法

1、通过len()函数来查看字典的长度,得到的是字典内键值对的数量,一对键值对是一个长度。在这里插入图片描述
2、通过dictname[key] = value的形式给字典添加数据。
在这里插入图片描述
3、通过dictname[key] = value的形式更新字典中的数据。

在这里插入图片描述
4、del dictname[key]来删除字典中的键值对。
在这里插入图片描述
5、dictname.pop[key]来删除字典中的键值对。

在这里插入图片描述
6、dictname.clear() #清空字典内的键值对
在这里插入图片描述

7、key in dictname #查看某个键是否在字典中,存在返回True,不存在返回False。
在这里插入图片描述
8、查看字典中对应键的值
(1)dictname[keyname]
(2)dictname.get(keyname)
对应区别是:第一种方法中,如果输入的key不在字典中会报错KeyError,在字典中返回对应的值。第二种方法中,如果输入的key不在字典中返回None,在字典中则返回对应值,可编辑文字知道key是否在字典中。
在这里插入图片描述

9、dictname.keys() #返回字典中所有的key
在这里插入图片描述
10、dictname.values() #返回字典中所有的key
在这里插入图片描述
11、dictname.items() #返回字典中所有的键和值在这里插入图片描述

字典的特性

1、字典中同一个键只能出现一次,如果创建时同一个键被赋值两次,后一个值会被记住。在这里插入图片描述

2、键必须不可变

猜你喜欢

转载自blog.csdn.net/qq_40395868/article/details/112917635