一篇文章带你弄懂Python基础之字典知识

开发 后端
本文以生活中字典的实际应用,主要介绍了Python字典的基础知识,用丰富的案例,帮助大家更好的去了解字典常见的的基础操作。

[[408270]]

大家好,我是Go进阶者,今天给大家分享一些Python基础 (字典),一起来看看吧~

一、前言

如果有列表 ,需要对"xiaoWang"这个名字写错了,则要通过对应的索引值进行代码修改。

  1. nameList = ['xiaoZhang''xiaoWang''xiaoLi'
  2. nameList[1] = 'xiaoxiaoWang 

如果列表的顺序发生了变化,如下:

  1. nameList = ['xiaoWang''xiaoZhang',  'xiaoLi'

此时就需要修改下标,才能完成名字的修改。

  1. nameList[0] = 'xiaoxiaoWang' 

有没有方法,既能存储多个数据,还能在访问元素的很方便就能够定位到需要的那个元素呢?这就是字典。

二、字典的介绍

  • 字典和列表一样,也能够存储多个数据。
  • 列表中找某个元素时,是根据下标进行的。
  • 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')。
  • 字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,其中'name'为键,'班长'为值。
  • 根据键访问值

例:

  1. info = {'name':'班长''id':100, 'sex':'f''address':'地球亚洲中国北京'
  2.  
  3. print(info['name']) 
  4.  
  5. print(info['address']) 

运行结果:

若访问不存在的键,则会报错:

  1. >>> info['age'
  2.  
  3. Traceback (most recent call last): 
  4.   File "<stdin>", line 1, in <module> 
  5.    
  6. KeyError: 'age' 

在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值。

  1. >>> age = info.get('age'
  2. >>> age    #'age'键不存在,所以age为None 
  3. >>> type(age) 
  4. <type 'NoneType'
  5. >>> age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18 
  6. >>> print(age)  
  7. 18  #运行结果 

1. 字典的常见操作

<1> 添加元素

  1. info = {'name':'班长''sex':'f''address':'地球亚洲中国北京'
  2.  
  3. print('id为:%d'%info['id']) 

运行结果:

如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素。

添加新的元素。

  1. info = {'name':'班长''sex':'f''address':'地球亚洲中国北京'
  2.  
  3. # print('id为:%d'%info['id'])#程序会终端运行,因为访问了不存在的键 
  4.  
  5. newId = input('请输入新的学号'
  6.  
  7. info['id'] = newId 
  8.  
  9. print('添加之后的id为:%d'%info['id']) 

运行结果:

  1. 请输入新的学号188 
  2. 添加之后的id为: 188 

<2> 删除元素

对字典进行删除操作,有一下几种:

  • del
  • clear()

del删除指定的元素

  1. info = {'name':'班长''sex':'f''address':'地球亚洲中国北京'
  2.  
  3. print('删除前,%s'%info['name']) 
  4.  
  5. del info['name'
  6.  
  7. print('删除后,%s'%info['name']) 

运行结果:

del删除整个字典。

  1. info = {'name':'monitor''sex':'f''address':'China'
  2.  
  3. print('删除前,%s'%info) 
  4.  
  5. del info 
  6.  
  7. print('删除后,%s'%info) 

运行结果:

clear清空整个字典。

  1. info = {'name':'monitor''sex':'f''address':'China'
  2.  
  3. print('清空前,%s'%info) 
  4.  
  5. info.clear() 
  6.  
  7. print('清空后,%s'%info) 

运行结果:

<3> 修改元素

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改。

  1. info = {'name':'班长''id':100, 'sex':'f''address':'地球亚洲中国北京'
  2.  
  3. newId = input('请输入新的学号'
  4.  
  5. info['id'] = int(newId) 
  6.  
  7. print('修改之后的id为%d:'%info['id']) 

运行结果:

2. 字典的常见操作2

<1>len()

测量字典中,键值对的个数。

  1. dict={"name":'zahnsan','sex':'m'
  2.  
  3. print(len(dict)) 

运行结果:

<2>keys

返回一个包含字典所有KEY的列表。

  1. dict={"name":'zahnsan','sex':'m'
  2.  
  3. print(dict.keys()) 

运行结果:

<3>values

返回一个包含字典所有value的列表。

  1. dict={"name":'zahnsan','sex':'m'
  2.  
  3. print(dict.values()) 

运行结果:

<4>items

返回一个包含所有(键,值)元祖的列表。

  1. dict={"name":'zahnsan','sex':'m'
  2.  
  3. print(dict.items()) 

运行结果:

三、遍历

语法:通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。

注意 :Python语法的缩进

先看一下字符串,列表和元组是怎么遍历的。

字符串遍历

  1. >>> a_str = "hello itcast" 
  2. >>> for char in a_str: 
  3. ...     print(char,end=' '
  4. ... 
  5. h e l l o   i t c a s t #运行结果 

列表遍历

  1. >>> a_list = [1, 2, 3, 4, 5] 
  2. >>> for num in a_list: 
  3. ...     print(num,end=' '
  4. ... 
  5. 1 2 3 4 5 #运行结果 

元组遍历

  1. >>> a_turple = (1, 2, 3, 4, 5) 
  2. >>> for num in a_turple: 
  3. ...     print(num,end=" "
  4. 1 2 3 4 5 #运行结果 

字典遍历

1 . 遍历字典的key(键)

2 . 遍历字典的value(值)

3. 遍历字典的项(元素)

4. 遍历字典的key-value(键值对)

5. enumerate()

  1. chars = ['a''b''c''d'
  2. for i, chr in enumerate(chars): 
  3.     print(i, chr) 

运行结果:

四、总结

本文以生活中字典的实际应用,主要介绍了Python字典的基础知识,用丰富的案例,帮助大家更好的去了解字典常见的的基础操作。

使用Python编程语言,加深读者对字典的认识,希望对大家的学习有帮助。

本文转载自微信公众号「Go语言进阶学习」,可以通过以下二维码关注。转载本文请联系Go语言进阶学习公众号。

 

责任编辑:武晓燕 来源: Go语言进阶学习
相关推荐

2021-07-03 10:02:30

Python字符串浏览器

2021-06-05 10:02:15

Python进制数据类型

2021-06-09 09:00:11

Python数据类型基础

2022-05-30 18:18:23

NoSQL数据库

2021-06-26 09:40:09

Python列表循环

2021-01-07 11:10:47

关键字

2021-06-16 10:03:37

Python案例分析Python基础

2021-03-21 07:36:43

Python迭代知识语言

2021-07-01 10:01:16

JavaLinkedList集合

2021-06-23 14:21:06

PythonClassPython基础

2021-04-07 06:11:37

Css前端CSS定位知识

2021-07-13 11:37:47

cpu架构Linux

2022-02-16 10:03:06

对象接口代码

2020-11-05 09:58:16

Go语言Map

2020-12-23 08:39:11

Go语言基础技术

2020-10-22 08:33:22

Go语言

2020-11-11 10:52:54

Go语言C语言

2018-10-22 12:50:20

CDN网络内容发布网络

2021-05-15 09:18:04

Python进程

2021-06-21 06:32:04

Python异常传递s自定义异常
点赞
收藏

51CTO技术栈公众号