Python核心语法教程:字典及基础操作

2022-07-2821:26:40编程语言入门到精通Comments731 views字数 2613阅读模式

学习了Python的列表和元组,如果你用心的学习了前面的内容并通过相关习题进行了一定的训练,那么接下来的学习会水到渠成。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

在Python中我们一定要明白一点,Python是一种解释型语言,因此它会提供很多人性化的工具给我们使用,接下来的几节我们来学习一个新的数据类型——字典。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

字典和列表和元组不同,字典中存储的是一组数据,也就是说字典中的每个数据都包含了两个部分,大家可以这么理解,
字典中存放了一个学生名字,每个学生的名字前面都对应了一个学号,我们可以把学号理解为‘键’,姓名理解为‘值’。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

下面介绍几点字典的特性:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1) 字典是没有顺序的,是任意对象的无序集合。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

2) 字典的键是唯一的,不能多次出现,多次出现时取最后一个值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

3) 键是不可变的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

4) 字典中的元素可增删。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

5) 因为没有顺序,所以不存在索引。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

    1. 字典的形式及创建文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

通过学生姓名那个例子,已经提到过字典每个元素包含2个部分,他们分别是‘键’和‘值’,键和值之间用‘:’隔开,两个元素之间用‘,’隔开。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

它的语法形式为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
my_dict = {‘key’ : ‘value’,’key1’ = ‘value1’....}

其中my_dict 为我们要创建的字典,key为键,value为键对应的值,他们可以是任何数类型。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

创建空字典的方式为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
4
5
>>> my_dict = {}#直接进行创建
>>> my_dict
{}
>>> type(my_dict)#看一下它的类型
<class 'dict'>

我们来创建一个字典,字典里有5个学号分别为1001,1002,1003,1004,1005,每个学号对应的名字为‘李华’,‘张三’,‘小雪’,‘小张’,‘小明’。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> my_dict#交互模式下输人名字是直接访问输出
{1001'李华'1002'张三'1003'小雪'1004'小张'1005'小明'}

字典的形式大致就是这样,每个元素对应两个部分,前面的为‘键’,后面的为‘值’。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

要注意键是不可以修改的,而值是可以变的,因此键要取不可变类型的数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

    2. 字典元素的访问文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

在字典中访问元素一般是通过访问其键的形式来获取它对应的值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

我们继续使用上面创建的字典,我们进行访问其值:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
4
5
6
7
8
9
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> my_dict[1001]#访问键为1001的值
'李华'
>>> my_dict[1005]#访问键为1005的值
'小明'
>>> my_dict[1006]#访问键为1006的值,此时字典里没有1006,故报错。
Traceback (most recent call last):
  File "<stdin>", line 1in <module>
KeyError: 1006

    3. 判断字典中的值是否存在文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

在上面我们了解到当我们访问一个不存在的键的时候会出现错误,我们可以采用一种判断来判别字典中是否存在对应的键。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

判断是否存再我们使用的是in和not in。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

使用in:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
4
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> if 1001 in my_dict:#如果my_dict中存在1001这个键就执行下面语句
       print(my_dict[1001])
>>> 李华

使用not in:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
4
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> if 1006 not in my_dict:#如果my_dict中吧存在1006这个键就执行下语句
       print('不存在1006这个键')
>>> 不存在1006这个键

简单的使用in和not in 可以确保我们在访问的时候减少错误的发生,需要注意在in和not in操作的时候,字符串的比较需要区分大小写。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

    4. 添加元素文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

因为字典是可变的,所以我们可以进行增加删除和修改等操作。对应的语法形式分别为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
4
5
my_dict[‘newkey’] = ‘newvalue’
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> my_dict [1006= '小李'#增加键1006,对应值‘小李’
>>> my_dict{1001'李华'1002'张三'1003'小雪'1004'小张'1005'小明'1006
'小李'}

增加元素就是直接通过键值对进行添加。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

    5. 删除元素文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

删除元素我们还是通过del语句进行删除,删除的是一整对元素,即包括键和值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

语法格式:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
del my_list[’key’]
1
2
3
4
5
>>> my_dict{1001'李华'1002'张三'1003'小雪'1004'小张'1005'小明'1006
'小李'}
>>> del my_dict[1001]#删除键为1001的一组元素
>>> del my_dict[1002]#删除键为1002的一组元素
>>> my_dict{1003'小雪'1004'小张'1005'小明'1006'小李'}

    6. 修改元素文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

修改元素就等于是直接覆盖了现有元素,它的形式和添加元素的格式类似,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

格式为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

1
2
3
4
5
6
my_dict[‘key’] = ‘newvalue’
>>> my_dict
{1003'小雪'1004'小张'1005'小明'1006'小李'}
>>> my_dict[1003= '小天'#把键1003的值修改为‘小天’
>>> my_dict
{1003'小天'1004'小张'1005'小明'1006'小李'}

这节我们先了解一下字典的基础操作,下一节来学习一些字典的相关方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26185.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26185.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定