Python学习-----无序序列1.0(字典的创建、查看、添加、修改、删除/替换)

目录

前言:

字典是什么

字典的特点

1.字典的创建

(1)直接创建{} 

 (2)dict() 函数创建

2.字典的查询

(1)get()函数

(2)获取字典一组内容

3.字典键值对的添加

(1)直接添加

(2)setdefault() 函数

4.字典的修改

update() 函数

5.字典键对值的删除

(1)pop()函数

(2)popitem() 函数

(3)clear()清空字典

 (4)del 删除方法


前言:

        前面在Python的学习中,我们已经讲过了关于Python中的序列类型有有序序列和无序序列Python学习------起步3(序列与数据类型转换)_守约斯维奇的博客-CSDN博客,之前讲了有序序列中的列表,元组和字符串等相关操作;而今天我会讲解无序序列中的字典相关操作。

字典是什么

        之前学习有序序列都知道,有序序列的特点是有指定的位置,可以去通过下标去表示一个元素。而对于无序序列是没有下标的,那我们是通过什么去处理无序序列呢?

        就以字典而言,字典最大的特点是有一个(key),我们可以去通过这个键来访问字典里面的内容,其实类似于有序序列的下标。字典是一个键对应一个值的,是一种映射关系,而在数学上表现为函数,一个自变量对应一个因变量,所以我们可以去通过这个‘自变量’来对‘因变量进行处理’。字典(dictionary)在Python中是除了列表以外最灵活的数据类型了。

Python学习-----无序序列1.0(字典的创建、查看、添加、修改、删除/替换)_第1张图片 实质上就是一个key对应一个value,通过key去访问value

字典的特点

1.字典是无序的(无序序列,以键值对的方式去储存数据)

2.字典是可变的(可以进行直接修改) 

3.字典中的键(key)与数据(value)是一一对应的

1.字典的创建

字典的表示:

字典名 = {

键:数据

}

比如 d = {'数学':100,'语文':100,'英语':100}

如果是创建一个空的字段的话就直接 d = {}

作用:用键值对的方式对数据进行存储,有对数据进行一个解释说明,有一个比较好的可读性

注意事项:创建字典的时候,键 如果出现了重复的话,那么重复键的内容就会把上一个的给覆盖掉

(1)直接创建{} 

示例1: 

d = {'数学':100,'语文':100,'英语':100,False:15}
print(d,type(d))
#输出结果:{'数学': 100, '语文': 100, '英语': 100, False: 15} 

示例2:

#创建一个空字典
d={}
print(d,type(d))
#输出结果:{} 

#输出字典中的单个元素
dd={'name':'Jack','age':19,'gender':'male'}
print(dd['age'],type(dd['age']))
#输出结果:19 

示例3:

# 当字典中的键重复的时候,原来的值将会被覆盖
dd={'name':'Jack','age':19,'gender':'male','age':20}
print(dd['age'])
#输出结果:20

 (2)dict() 函数创建

示例:

#dict()函数直接创建
student = dict(name='jack', age=22)
print(student,type(student))
#输出结果:{'name': 'jack', 'age': 22} 

这种写法是通过函数来实现的,同样键与数据也是一一对应的

注意:字典的 键 是唯一的不可变的,不可修改的,虽然说键可以用字符串,布尔类型,元组类型,或者整等等,这些类型都是不可变的,而列表和字典还有接下来要讲到的集合都是具有可变性,所以不可以作为字典的 键!

2.字典的查询

(1)get()函数

格式:

字典名.get(key)

返回:如果存在就返回这个数据,如果不存在就返回None

d={'name':'Jack','age':19,'home':'广东'}
print(d.get('home'))
print(d.get('phone'))
#输出结果:
#广东
#None

(2)获取字典一组内容

格式:

字典名.keys()     #获取字典所有的键
字典名.values()    #获取字典所有的值
字典名.items()    #获取字典所有的键值对

示例: 

d={'name':'Jack','age':19,'home':'广东'}
print(d.keys(),type(d.keys()))
print(d.values(),type(d.values()))
print(d.items(),type(d.items()))

这个是一个很普通的查询方法,了解一下就行了

3.字典键值对的添加

(1)直接添加

格式:

字典名[key] = 值

d={'name':'Jack','age':19,'home':'广东'}
print(d)
d['phone']='137********'
print(d)

 这种方式也是最常见的方式,直接添加就行了,没有多余的操作

(2)setdefault() 函数

格式:

字典名.setdefault(键,值)

注意事项:

1.当值没有传入进去,会默认为None

2.当键存在的时候,不会对其对应的值进行修

 示例1:

d={'name':'小明'}
d.setdefault('语文',88)
print(d)
d.setdefault('数学',99)
d.setdefault('英语',98)
print(d)

 示例2:

d={'name':'小明','语文':88,'数学':99,'英语0':98}
d.setdefault('地理')
print(d)
d.setdefault('语文',100)
print(d)

 这里可以看到,如果没有去设置value的值的时候,系统是默认为None;而且如果再次添加已有的键的时候,原来键对应的值value不会被修改

4.字典的修改

update() 函数

格式:

字典名.update({键:值,键1:值1,键2:值2……})

作用:即可以增加也可以修改 , 并且一次可以增加多个值

#修改功能
d={'name':'小明','语文':88,'数学':99,'英语':98}
d.update({'语文':100})
print(d)

#添加单个
d.update({'地理':96})
print(d)

#添加多个
d.update({'物理':60,'化学':77})
print(d)

 相较于setdefault() 函数,我个人还是比较建议用updata() 函数去实现数据的添加,同时这个函数还具备修改功能。这个函数整体还是偏向于修改功能的。

5.字典键对值的删除

(1)pop()函数

这个函数在之前学习列表的时候我是讲过的,这个函数的使用范围还是比较广的,也可以用于字典键对值的删除                                     链接:Python学习-----起步4(列表元素的添加,删除,修改,查询,获取长度)_守约斯维奇的博客-CSDN博客

格式:

字典名.pop(key)

作用:指定键删除,key和value都删除

d={'name':'小明','语文':88,'数学':99,'英语':98}
d.pop('英语')
print(d)
#输出结果:{'name': '小明', '语文': 88, '数学': 99}

(2)popitem() 函数

格式:

字典名.popitem()

作用:删除掉字典最后一个键值对

d={'name':'小明','语文':88,'数学':99,'英语':98,'物理':60}
d.popitem()
print(d)
#输出结果:{'name': '小明', '语文': 88, '数学': 99, '英语': 98}

可见最后一个物理:60 被删除了

(3)clear()清空字典

格式:

字典名.clear()

作用:把字典里面所有键值对全部删除

d={'name':'小明','语文':88,'数学':99,'英语':98,'物理':60}
print(d)
d.clear()
print(d)

 (4)del 删除方法

这个也是之前在列表的删除讲过,这个方式也是很经常用到的,不仅仅可以去删除序列里面的某个数据,而且还可以把整个序列变量给删掉,所以使用的时候要看清楚删除的对象是什么 

格式:

del 字典名[key]

#删除字典中的一个键值对
d={'name':'小明','语文':88,'数学':99,'英语':98,'物理':60}
del d['数学']
print(d)
#输出结果:{'name': '小明', '语文': 88, '英语': 98, '物理': 60}

#删除整个字典
del d
print(d) 
#输出结果会报错的,因为字典已经被删除了,不存在了,自然就不可能打印出来

        OK,这一期就到这里了,下一期讲无序序列中的集合,thanks~~~

你可能感兴趣的:(Python学习,学习,python,开发语言)