python字典介绍

1. 什么是字典

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

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

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

2. 字典的创建

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

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

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

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

3. 字典中元素的获取

在这里插入图片描述

(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

4.key的判断

在这里插入图片描述

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

5.字典元素的删除

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

6.字典元素的新增

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

7.字典元素的修改

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

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

(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对

9.字典元素的遍历

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

10.字典的特点

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

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

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

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

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

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

11.字典生成式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值