




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目六Python字典和时间日期任务6.1任务6.2CONTENTS目录Python字典Python时间日期任务6.1Python字典1.直接赋值创建字典直接赋值创建字典的一般格式如下:6.1.1创建字典变量名={键1:值1,键2:值2,键3:值3,...,键n:值n}print("直接赋值创建字典")print("")#创建字典stu_info={′num′:′20230101′,′name′:′Limeng′,′sex′:′male′,′age′:′20′}#查看字典print(stu_info)【例6-1】创建一个学生信息字典,包括学生学号、姓名、性别和年龄4个元素。程序代码如下:2.使用内建函数dict()创建字典6.1.1创建字典print("使用内建函数dict()创建字典\n")#直接赋值创建字典print("直接赋值创建字典")stu_info_1={′num′:′20230101′,′name′:′Limeng′,′sex′:′male′,′age′:′20′}print(stu_info_1)#通过其他方式创建字典print("\n通过其他方式创建字典")stu_info_2=dict(stu_info_1)print(stu_info_2)【例6-2】使用内建函数dict()创建字典。程序代码如下:6.1.1创建字典#通过“键-值”对的序列创建字典print("\n通过“键-值”对的序列创建字典")stu_info_3=dict([(′num′,′20230101′),(′name′,′Limeng′),(′sex′,′male′),(′age′,′20′)])print(stu_info_3)#通过关键字参数创建字典print("\n通过关键字参数创建字典")stu_info_4=dict(num=′20230101′,name=′Limeng′,sex=′male′,age=′20′)print(stu_info_4)6.1.1创建字典#通过dict()函数和zip()函数结合创建字典print("\n通过dict()函数和zip()函数结合创建字典")stu_info_5=dict(zip([′num′,′name′,′sex′,′age′],[′20230101′,′Limeng′,′male′,′20′]))print(stu_info_5)#判断5个变量是否相等print("\n判断5个变量是否相等")ifstu_info_1==stu_info_2==stu_info_3==stu_info_4==stu_info_5:print("创建字典的5种方式相同")#如果相同,则输出提示符else:print("创建字典的5种方式不相同") #如果不相同,则输出不相同提示符3.使用fromkeys()函数创建字典fromkeys()函数的语法格式如下:6.1.1创建字典dict.fromkeys(seq[,value])#创建字典,键序列的值默认为None>>>stu_info_1=dict.fromkeys([′Wangwei′,′Zhangming′])>>>stu_info_1
#输出stu_info_1{′Wangwei′:None,′Zhangming′:None}#创建字典,键序列的值默认为22>>>stu_info_2=dict.fromkeys([′Wangwei′,′Zhangming′],′22′)>>>stu_info_2 #输出stu_info_2{′Wangwei′:′22′,′Zhangming′:′22′}示例代码如下:1.根据“键”访问“值”根据“键”访问“值”的语法格式如下:6.1.2访问字典字典变量名[键]#创建字典>>>stu_info={′num′:′20230105′,′name′:′Yangbing′,′sex′:′male′,′age′:′21′}>>>stu_info[′num′]
#根据num访问学号′20230105′>>>stu_info[′age′]′21′>>>stu_info[′height′] #指定的“键”(身高)不存在,抛出异常Traceback(mostrecentcalllast):File"<pyshell#3>",line1,in<module>stu_info[′height′]KeyError:′height′示例代码如下:2.使用get()函数访问“值”get()函数的语法格式如下:6.1.2访问字典dict.get(key[,default=None])>>>stu_info={′num′:′20230105′,′name′:′Yangbing′,′sex′:′male′,′age′:′21′}>>>stuinfo.get(′name′)
#使用get()函数获取学生姓名′Yangbing′>>>stu_info.get(′age′)′21′>>>stu_info.get(′height′)
#获取学生身高,返回值为None>>>print(stu_info.get(′height′))
#输出返回值NoneNone>>>stu_info.get(′height′,180)
#设置返回默认值为180180示例代码如下:3.遍历字典
(1)遍历字典中所有的“键-值”对。遍历字典中所有的“键-值”对可使用items()函数。该函数以列表形式返回可遍历的“(键,值)”元组,其语法格式如下:6.1.2访问字典dict.items()
dict.keys()(2)遍历字典中所有的“键”。当不需要使用字典中的“值”时,可使用keys()函数访问字典中的“键”。该函数以列表形式返回字典中所有的“键”,其语法格式如下:(3)遍历字典中所有的“值”。当需要使用字典中的“值”时,可使用values()函数访问字典中的“值”。该函数以列表形式返回字典中所有的“值”,其语法格式如下:
dict.values()1.在列表中嵌套字典
【例6-6】在列表中嵌套字典。6.1.3嵌套print("在列表中嵌套字典\n")stu_info_1={′name′:′Wangning′,′sex′:′F′,′age′:′19′}#定义字典stu_info_1stu_info_2={′name′:′Limeng′,′sex′:′F′,′age′:′20′}#定义字典stu_info_2stu_info_3={′name′:′Changxin′,′sex′:′M′,′age′:′18′}#定义字典stu_info_3student=[stu_info_1,stu_info_2,stu_info_3]#创建包含3个学生的列表forstuinstudent: #遍历列表print(stu)2.在字典中嵌套列表
【例6-7】在字典中嵌套列表。6.1.3嵌套print("在字典中嵌套列表")#定义字典并赋值,字典中的“值”为列表stu_class={′Wangning′:[′C′,′Math′],′Limeng′:[′Java′,′Art′],′Changxin′:[′Python′],′Weiming′:[′Python′,′Mysql′,′Math′]}forname,clainstu_class.items():
#遍历字典中所有的元素print("")print(name,′选的课程是:′) #输出键forcincla: #遍历列表
print(c) #输出列表中的值3.在字典中嵌套字典
【例6-8】在字典中嵌套字典。6.1.3嵌套print("在字典中嵌套字典\n")#定义字典并赋值stu_info={′Wangning′:{′sex′:′F′,′age′:′19′},′Limeng′:{′sex′:′F′,′age′:′20′},′Changxin′:{′sex′:′M′,′age′:′18′},′Weiming′:{′sex′:′M′,′age′:′21′}}forname,stuinstu_info.items():
#遍历字典中所有元素
print(name,′性别:′,stu[′sex′],′年龄:′,stu[′age′]) #输出键和值1.添加字典元素
当使用“字典变量名[键]=值”修改字典时,如果字典中不存在这个“键”,则会在其中增加一个“键-值”对。6.1.4修改字典print("添加字典元素\n")stu_info={′name′:′Wangning′,′sex′:′F′}new_age=input(′请输入学生年龄:′)stu_info[′age′]=new_ageprint(stu_info)【例6-9】添加字典元素。2.修改字典中的元素
当使用“字典变量名[键]=值”修改字典时,如果字典中想要添加的键已经存在,则该键对应的值会被新值替换。6.1.4修改字典print("修改字典中的元素\n")stu_info={′name′:′Wangning′,′sex′:′F′,′age′:′20′,′height′:′180′}print("原字典中的元素为:")print(stu_info,"\n")new_height=input(′请输入学生身高:\n′)print("修改身高后的字典元素为:")stu_info[′height′]=new_heightprint(stu_info)【例6-10】修改字典中的元素。1.del命令del命令用于删除整个字典或字典中的某个元素。6.1.5删除字典print("使用del命令删除字典中的元素\n")stu_info={′name′:′Wangning′,′sex′:′F′,′age′:′20′,′height′:′180′}print(′删除元素%s′%stu_info[′name′],′前的信息′)print(stu_info)delstu_info[′name′]print(′删除元素%s′%stu_info[′name′],′后的信息′)print(stu_info)【例6-11】使用del命令删除字典中的元素。2.clear()函数clear()函数用于清空字典中的所有元素。6.1.5删除字典print("使用clear()函数清空字典中的所有元素\n")stu_info={′name′:′Wangning′,′sex′:′F′,′age′:′20′,′height′:′180′}print(′清空字典中的所有元素前:\n%s′%stu_info)stu_info.clear()print(′清空字典中的所有元素后:\n%s′%stu_info)【例6-12】使用clear()函数清空字典中的所有元素。6.1.6字典中“键”的特性>>>dict={′Name′:′Zhangxin′,′Age′:′18′,′Name′:′Limeng′}>>>dict{′Name′:′Limeng′,′Age′:′18′}
(1)字典中的“键”是唯一的,不允许同一个“键”出现两次,如果创建时同一个“键”被赋值两次,则后一个键的值会替换前一个“键”的“值”。示例代码如下:6.1.6字典中“键”的特性>>>dict={[′Name′]:′Zhangxin′,′Age′:′18′,′Name′:′Limeng′}>>>dictTraceback(mostrecentcalllast):File"<pyshell#4>",line1,in<module>dict={[′Name′]:′Zhangxin′,′Age′:′18′,′Name′:′Limeng′}TypeError:unhashabletype:′list′
(2)字典中的“键”是不可变的。字典中的“键”可以使用数字、字符串或元组,但不能使用列表。示例代码如下:6.1.7字典内建函数表6-1
Python字典的内建函数函数含义cmp(dict1,dict2)比较两个字典元素大小len(dict)计算字典元素的个数,即键的总数str(dict)输出字典可打印的字符串表示type(variable)返回输入的变量类型,如果变量是字典,则返回字典类型dict.clear()清空字典中的所有元素dict.copy()返回一个字典的浅复制dict.fromkeys(seq[,val])创建一个新字典,以序列seq中的元素作为字典的“键”,val为字典中所有“键”对应的初始值6.1.7字典内建函数表6-1
Python字典的内建函数函数含义dict.get(key,default=None)返回指定“键”的“值”,如果“值”不在字典中,则返回default值dict.has_key(key)如果“键”在字典dict中,则返回True,否则返回Falsedict.items()以列表返回可遍历的“(键,值)”元组dict.keys()以列表返回一个字典中所有的“键”dict.setdefault(key,default=None)与get()函数类似,但如果“键”不在字典中,则会添加“键”并将“值”设为defaultdict.update(dict2)将字典dict2的“键-值”对更新到字典中dict.values()以列表形式返回字典中的所有值任务6.2Python时间日期
时间戳(Tick)表示从1970年1月1日00:00:00开始,到当前时间,一共经历了多少秒。
time()函数用于返回当前时间戳,其语法格式如下:6.2.1时间戳time.time()importtime #导入时间模块print("时间戳的使用\n")ticks=time.time()print("从1970年1月1日00:00:00开始的时间戳(单位为秒):",ticks)【例6-13】时间戳的使用。时间元组是一个struct_time类型的对象,可以通过gmtime()函数、localtime()函数和strptime()函数等获得。6.2.2时间元组importtime
#导入时间模块print("时间元组的使用\n")print("gmtime()函数的使用\n")struct_time_1=time.gmtime()print(struct_time_1)print("localtime()函数的使用\n")struct_time_2=time.localtime()print(struct_time_2)【例6-14】时间元组的使用。程序代码如下:strftime()函数的语法格式如下:6.2.3获取格式化的时间importtimeprint("获取格式化的时间\n")#格式化为2023-03-2723:59:59形式print("格式化为2023-03-2723:59:59形式")print(time.strftime("%Y-%m-%d%H:%M:%S",time.localtime()))#格式化为MonMar2723:59:592023形式print("\n格式化为MonMar2723:59:592023形式")print(time.strftime("%a%b%d%H:%M:%S%Y",time.localtime()))print("\n将格式字符串转换为时间戳")#将格式字符串转换为时间戳time_word="MonMar2723:59:592023"print(time.mktime(time.strptime(time_word,"%a%b%d%H:%M:%S%Y")))【例6-15】获取格式化的时间。time.strftime(format[,t])表6-4
Time模块的函数及其含义6.2.4Time模块函数含义time.altzone()返回格林尼治西部的夏令时地区的偏移秒数time.asctime([tupletime])接收时间元组并返回一个可读形式为“MonMar2723:59:592023”(2023年3月27日周一23时59分59秒)的24个字符的字符串time.clock()以浮点数计算的秒数返回当前的CPU时间,用于衡量不同程序的耗时,相较之下优于time.time()time.ctime([secs])把一个时间戳(按秒计算的浮点数)转换为time.asctime()形式,未给参数相当于asctime(localtime(secs))time.gmtime([secs])接收时间戳(1970纪元后经过的浮点秒数)并返回格林尼治天文时间下的时间元组time.localtime([secs])接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组表6-4
Time模块的函数及其含义6.2.4Time模块函数含义time.mktime(tupletime)接收时间元组并返回时间戳(1970纪元后经过的浮点秒数)time.sleep(secs)推迟调用线程的执行,secs为秒数time.strftime(fmt[,tupletime])接收时间元组并返回以可读字符串表示的当地时间,格式由fmt决定time.strptime(str,fmt=′%a%b%d%H:%M:%S%Y′)根据fmt的格式把一个时间字符串解析为时间元组time.time()返回当前时间的时间戳(1970纪元后经过的浮点秒数)time.tzset()根据环境变量TZ重新初始化时间相关设置通过一些函数可以获取年历和月历,默认星期一是每周的第一天,星期天是每周的最后一天。例如,输出2023年3月份和4月份的日历。6.2.5获取日期importcalendarprint("获取日期\n")calendar_0=calendar.month(2023,3)calendar_1=calendar.month(2023,4)print("2023年3月\n")print(calendar_0)print("\n2023年4月\n")print(calendar_1)【例6-16】获取日期。表6-5
Calendar模块的函数及其含义6.2.6日历(Calendar)模块函数含义calendar.calendar(year,w=2,l=1,c=6)返回一个多行字符串格式的year年年历,3个月一行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同变更条款解析3篇
- 磷肥生产设备故障分析与维护保养操作考考核试卷
- 皮鞋制作中的自动化缝制技术与设备考核试卷
- 水产品冷冻加工中的食品安全监测与预警机制考核试卷
- 皮革物理性能提升技术考核试卷
- 肥料生产安全与环保措施考核试卷
- 2025北京房地产交易合同
- 2025自动化控制系统配电柜合同
- 2025租赁合同必须具备的合同条款
- 2025劳务分包合同(钢筋工)
- 2025-2030串番茄行业市场发展分析及前景趋势与投资研究报告
- 辽宁沈阳国有资产托管中心有限公司招聘笔试题库2025
- 哮病中医特色护理查房
- 2025-2030中国浮吊行业市场发展趋势与前景展望战略分析研究报告
- 北京市公园管理中心所属事业单位招聘笔试真题2024
- 2025年广东省深圳市31校联考中考二模历史试题(原卷版+解析版)
- 浙江省绍兴市2025届高三下学期二模试题 数学 含解析
- 高二期末家长会-家校携手凝共识齐心协力创辉煌
- 职场人士健身与锻炼技巧
- 918勿忘国耻铭记历史课件-高一上学期主题班会
- 钢结构厂房装饰工程施工方案
评论
0/150
提交评论