python使用字典描述学生信息_一起学Python:字典介绍
字典介绍
想一想:
如果有列表
nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi'];
需要对"xiaoWang"这个名字写错了,通过代码修改:
nameList[1] = 'xiaoxiaoWang'
如果列表的顺序发生了变化,如下
nameList = ['xiaoWang', 'xiaoZhang', 'xiaoLi'];
此时就需要修改下标,才能完成名字的修改
nameList[0] = 'xiaoxiaoWang'
有没有方法,既能存储多个数据,还能在访问元素的很方便就能够定位到需要的那个元素呢?
答:
字典
另一个场景:
学生信息列表,每个学生信息包括学号、姓名、年龄等,如何从中找到某个学生的信息?
>>> studens = [[1001, "王宝强", 24], [1002, "马蓉", 23], [1005, "宋喆",24], ...]
循环遍历? No!
<1>生活中的字典
<2>软件开发中的字典
变量info为字典类型:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
说明:
字典和列表一样,也能够存储多个数据
列表中找某个元素时,是根据下标进行的
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值
<3>根据键访问值
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
print(info['name'])
print(info['address'])
结果:
班长
地球亚洲中国北京
若访问不存在的键,则会报错:
>>> info['age']
Traceback (most recent call last):
File "", line 1, in
KeyError: 'age'
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:
>>> age = info.get('age')
>>> age #'age'键不存在,所以age为None
>>> type(age)
>>> age = info.get('age', 18)
# 若info中不存在'age'这个键,就返回默认值18
>>> age
18
字典的常见操作1
<1>修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
demo:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
newId = input('请输入新的学号')
info['id'] = int(newId)
print('修改之后的id为%d:'%info['id'])
<2>添加元素
demo:访问不存在的元素
info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
print('id为:%d'%info['id'])
如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
demo:添加新的元素
info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
# print('id为:%d'%info['id'])#程序会终端运行,因为访问了不存在的键
newId = input('请输入新的学号')
info['id'] = newId
print('添加之后的id为:%d'%info['id'])
结果:
请输入新的学号188
添加之后的id为: 188
<3>删除元素
对字典进行删除操作,有一下几种:
del
clear()
demo:del删除指定的元素
info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
print('删除前,%s'%info['name'])
del info['name']
print('删除后,%s'%info['name'])
demo:del删除整个字典
info = {'name':'monitor', 'sex':'f', 'address':'China'}
print('删除前,%s'%info)
del info
print('删除后,%s'%info)
demo:clear清空整个字典
info = {'name':'monitor', 'sex':'f', 'address':'China'}
print('清空前,%s'%info)
info.clear()
print('清空后,%s'%info)
字典的常见操作2
<1>len()
测量字典中,键值对的个数
<2>keys
返回一个包含字典所有KEY的列表
<3>values
返回一个包含字典所有value的列表
<4>items
返回一个包含所有(键,值)元祖的列表
<5>has_key
dict.has_key(key)如果key在字典中,返回True,否则返回False
遍历
通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。
注意python语法的缩进
字符串遍历
>>> a_str = "hello itcast">>> for char in a_str:...
print(char,end=' ')
...
h e l l o i t c a s t
列表遍历
>>> a_list = [1, 2, 3, 4, 5]>>> for num in a_list:...
print(num,end=' ')
...1 2 3 4 5
元组遍历
>>> a_turple = (1, 2, 3, 4, 5)>>> for num in a_turple:...
print(num,end=" ")1 2 3 4 5
字典遍历
<1> 遍历字典的key(键)
<2> 遍历字典的value(值)
<3> 遍历字典的项(元素)
<4> 遍历字典的key-value(键值对)
想一想,如何实现带下标索引的遍历
>>>chars = ['a', 'b', 'c', 'd']
>>>i = 0>>> for chr in chars:...
print("%d %s"%(i, chr))... i += 1...0 a1 b2 c3 d
enumerate()
>>>chars = ['a', 'b', 'c', 'd']
>>>for i, chr in enumerate(chars):...
print i, chr
...0 a1 b2 c3 d
原文链接:做最专业最懂你的编程微刊技术分享平台,提供你最需要的开发学习资源。 我们专注于编程开发技术的学习与交流,我们坚持,每天进步一小步,人生进步一大步!关注【编程微刊】,与我们一起学习进步。https://www.jianshu.com/u/05f416aefbe1
python使用字典描述学生信息_一起学Python:字典介绍相关推荐
- python字典输入学生信息_如何用Python将XML中的所有信息输入字典
我通常使用标准库中的ElementTree模块解析XML. 它没有给你一个字典,你得到了一个更有用的DOM结构,它允许你为孩子们遍历每个元素.from xml.etree import Element ...
- python字典输入学生信息_用Python创建一个学生字典并可以查询其中信息
展开全部 你可以试试这个---------------------------------------------------------- # -*- coding:UTF-8 -*- studen ...
- python小白应该看什么书_小白学python看什么书
适合小白阅读的python入门书有 <Python编程 从入门到实战> 本书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试"环节, ...
- python异或运算怎么算_小强学Python+OpenCV之-1.4.4掩膜mask及位运算(与、或、非、异或)...
问题引入 在小强学Python+OpenCV之-1.4.2裁剪一节,我们使用的是numpy数组切片功能实现图片区域的裁剪. 那么,如果我们想要裁剪图像中任意形状的区域时,应该怎么办呢? 答案是,使用掩 ...
- python语言流程控制语句的格式_慢步学python,编程基础知识,流程控制语句if
慢步业余学python编程,今天休息继续分享python编程知识. 面向过程编程,重要的是程序的流程,今天说说流程控制语句if. 在我们高中数学中就有流程图的学习,只是没有真正应用起来而已,办公软件也 ...
- python使用字典描述学生信息_Python字典(Dictionary)操作详解
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python的read函数调用报错_从零开始学Python(七):文件存储I/O流和异常捕捉
这两天在搞小程序开发,耽搁了一下更新的进度,今天补上.一个完整的前端程序肯定离不开数据存储和网络两个模块,今天我们就先来讲讲python中的一种常见数据存储:文件存储!~! 文件存储(I/O操作) 何 ...
- 用python做股票量化分析豆瓣_小白学 Python 爬虫(24):2019 豆瓣电影排行
人生苦短,我用 Python 前文传送门: 引言 从本篇的标题各位同学应该已经猜到了,本篇又到了实战环节~~~ 2019 已经快过完了,按照本文推送的时间预估,到 2020 应该还有十来天的时间,又到 ...
- python在路径里添加变量_想学Python?那就先从头开始吧!
作为人工智能和大数据时代最具竞争力的 Python 语言,越来越多的出现在各大编程热搜排行榜上. 首先你要了解什么是python 了解Python语言 Python是一种解释型, 面向对象, 动态数据 ...
最新文章
- 手把手教你如何制作可视化大屏!
- Objective-C 高性能的循环遍历 forin - NSEnumerator - 枚举 优化
- c语言变量为什么要定义,C语言为什么要规定对所用到的变量要“先定义,后使用”...
- 杭州某知名xxxx公司急招大量java以及大数据开发工程师
- c语言中输入字符用什么作用是什么意思,C语言编程问题
- WebFlux响应式编程基础之 4 reactive stream 响应式流
- VCL组件之公用对话框组件
- Proxmark3 Easy Gui 4.0 5.0 5.1加强版免费获取啦最新编译2019/5/10
- C#winform程序窗口全屏是否遮盖任务栏问题
- C#两种方法输出1~100间的质数(素数)
- 安卓入门教程(十五)- Fragment,Service,WAMP下载
- C#从文件读取 Stream
- 进销存软件商品报价管理-报价单
- 特征值和特征向量的理解
- 打造完美写作系统:Gitbook+Github Pages+Github Actions
- [连载]Java程序设计(02)---任务驱动方式:个人所得税计算器
- 网站服务器配置e5,从性能到配置 E5服务器全面扫描
- IDEA插件【美化插件】
- 使用GeoGebra来进行项目辅助开发
- 2000-2020逐年500m植被净初生产力NPP数据