python字典基本操作

目录

1.什么是字典

3.字典的创建

(1).最常用的方式:使用花括号

(2).使用内置函数dict()

 4.字典中元素的获取

(1).[]取值与使用get()取值的区别:

(2).[]取值

(3).get()取值

5.key的判断

6.字典元素的删除

7.字典元素的新增

8.字典元素的修改

9.获取字典视图的三种方法

(1).keys()获取字典中的所有key

(2).values()获取字典中所有的value

(3).items()获取字典中所有key-value对

10.字典元素的遍历

11.字典的特点

12.字典生成式


1.什么是字典

python内置的数据结构之一,与列表一样是一个可变序列

以键值对的方式存储数据,字典是一个无序的序列

字典的实现原理与查字典相似,查字典是先根据部首或拼音查找相应的页码,python中的字典是根据key查找value所在的位置

3.字典的创建

(1).最常用的方式:使用花括号

scores={'张三':100,'李四':98,'王五':45}

(2).使用内置函数dict()

dict(name='jack',age=20)

 4.字典中元素的获取

 

(1).[]取值与使用get()取值的区别:

[]如果字典中不存在指定的key,抛出KeyErrot异常,get()方法取值,如果字典中不存在指定的key,并不抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回

(2).[]取值

scores={'张三':100,'李四':98,'王五':45}
print(scores['李四'])	#将会输出98
print(scores['陈六'])	#将会出现KeyError,因为陈六不在scores字典中

(3).get()取值

scores={'张三':100,'李四':98,'王五':45}
print(scores.get('张三'))	#将会输出100
print(scores.get('陈六'))	#将会输出None

5.key的判断

 

scores={'张三':100,'李四':98,'王五':45}
print('张三' in scores)	#输出内容为True
print('张三' not in scores)	#输出内容为False

6.字典元素的删除

scores={'张三':100,'李四':98,'王五':45}
del scores['张三']	#删除指定的key-value对
scores.clear()	#清空字典的元素

7.字典元素的新增

scores={'张三':100,'李四':98,'王五':45}
scores['陈六']=98	#新增元素

8.字典元素的修改

scores={'张三':100,'李四':98,'王五':45}
scores['张三']=20	#修改元素

9.获取字典视图的三种方法

(1).keys()获取字典中的所有key

scores={'张三':100,'李四':98,'王五':45}
keys=scores.keys()	#获取字典中的所有key

(2).values()获取字典中所有的value

scores={'张三':100,'李四':98,'王五':45}
values=scores.values()	#获取字典中的所有value

(3).items()获取字典中所有key-value对

scores={'张三':100,'李四':98,'王五':45}
items=scores.items()	#获取字典中的所有key-value对

10.字典元素的遍历

scores={'张三':100,'李四':98,'王五':45}
for i in scores:
    print(i,scores[i])	#输出第一个i为字典中的key,scores[i]为字典中key对应的value输出key的方式不止这一种,也可用get()

11.字典的特点

(1).字典中的所有元素都是一个key-value对,key不允许重复,value可以重复

d={'name':'张三','name':'李四'}	#因为key不允许重复,所以字典中只有{'name':'李四'}
s={'name':'张三','nikename':'张三'}	#value可以重复,所以字典中有{'name':'张三','nikename':'张三'}

(2).字典中的元素是无序的

(3).字典中的key必须是不可变对象

(4).字典也可以根据需要动态的伸缩

(5).字典会浪费较大的内存,是一种使用空间换时间的数据结构

12.字典生成式

 


版权声明:本文为qq_61504353原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。