文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 03:15

关注

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

一、前言

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

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

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

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

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

  1. nameList[0] = 'xiaoxiaoWang' 

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

二、字典的介绍

例:

  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 "", line 1, in  
  5.    
  6. KeyError: 'age' 

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

  1. >>> age = info.get('age'
  2. >>> age    #'age'键不存在,所以age为None 
  3. >>> type(age) 
  4. '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删除指定的元素

  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(值)

遍历字典的项(元素)

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

enumerate()

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

运行结果:

四、总结

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

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

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

 

来源:Go语言进阶学习内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯