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

时间:2022-11-02 18:43:03

盘点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']) 

运行结果:

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

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

  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']) 

运行结果:

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

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

添加新的元素。

  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']) 

运行结果:

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

del删除整个字典。

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

运行结果:

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

clear清空整个字典。

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

运行结果:

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

<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']) 

运行结果:

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

2. 字典的常见操作2

<1>len()

 

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

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

运行结果:

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

<2>keys

 

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

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

运行结果:

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

<3>values

 

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

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

运行结果:

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

<4>items

 

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

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

运行结果:

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

三、遍历

 

语法:通过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(键)

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

2 . 遍历字典的value(值)

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

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

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

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

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

5. enumerate()

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

运行结果:

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

四、总结

 

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

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

原文地址:https://mp.weixin.qq.com/s/lbkBjG_RaQGkeKkpjVcTIQ