盘点Python基础之字典的那些事儿

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

[[391536]]

一、前言

如果有列表 ,需要对"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> 添加元素

  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语言进阶学习
相关推荐

2021-04-17 10:05:57

Python字符串Python基础

2021-04-28 10:01:06

Python基础项目

2021-02-22 08:39:03

Java关键字Java基础

2013-08-28 10:18:48

2021-08-03 10:01:37

JavaScript事件方法

2024-08-02 15:04:14

JavaScript服务器

2024-06-25 12:52:40

JavaScript开发

2021-03-09 23:12:51

Python集合项目

2012-07-31 09:14:20

苹果三星

2012-12-28 10:26:08

山寨App抄袭

2012-12-19 09:14:31

Linux

2015-11-04 09:36:44

超融合IT基础架构

2021-07-21 10:18:21

Python条件语句Python基础

2023-04-11 07:34:40

分布式系统算法

2021-03-18 09:01:53

软件开发软件选型

2021-05-22 09:44:21

PythonNumpy数组Python矩阵

2018-01-08 15:13:15

httphttpsSSL证书

2021-06-09 13:28:40

密码安全身份认证数据安全

2013-12-26 14:23:03

定位系统GPS监测

2011-02-25 14:35:00

点赞
收藏

51CTO技术栈公众号