Q:将下列格式的txt文件,打印出该选手的3个最快跑步时间

james2.txt =>“James Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22,2-01,2.01,2:16"

julie2.txt =>Julie Jones,2002-8-17,2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21,3.01,3.02,2:59

mikey2.txt =>Mikey McManus,2002-2-24,2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38,2:40,2.22,2-31

sarah2.txt =>Sarah Sweeney,2002-6-17,2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55,2:22,2-21,2.22

注.pop()方法从指定列表位置删除并返回一个数据项。

1.通过数据抽取到列表来实现

def senitize(time_string):

if '-' in time_string:

splitter='-'

elif ':' in time_string:

splitter=':'

else:

return(time_string)

(mins,secs)=time_string.split(splitter)

return(mins+'.'+secs)

def get_coach_data(filename):

try:

with open(filename) as f:

data=f.readline()

return(data.strip().split(','))

except IOError as ioerr:

print('File error' +str (ioerr))

return (None)

sarah=get_coach_data('sarah2.txt')

(sarah_name,sarah_dob)=sarah.pop(0), sarah.pop(0)

print(sarah_name+"'s fastest times are:"+ str(sorted(set([senitize(t) for t in sarah]))[0:3]))

========== RESTART: C:/Users/eric/Documents/Python/kelly/kelly2.py ==========

Sarah Sweeney's fastest times are:['2.18', '2.21', '2.22']

2. 通过创建字典来实现

def senitize(time_string):

if '-' in time_string:

splitter='-'

elif ':' in time_string:

splitter=':'

else:

return(time_string)

(mins,secs)=time_string.split(splitter)

return(mins+'.'+secs)

def get_coach_data(filename):

try:

with open(filename) as f:

data=f.readline()

return(data.strip().split(','))

except IOError as ioerr:

print('File error' +str (ioerr))

return (None)

sarah=get_coach_data('sarah2.txt')

sarah_data={}

sarah_data['Name']=sarah.pop(0)

sarah_data['DOB']=sarah.pop(0)

sarah_data['Times']=sarah

print(sarah_data['Name']+"'s fastest times are:"+ str(sorted(set([senitize(t) for t in sarah_data['Times']]))[0:3]))

3.将字典和数据打印全部写入函数

def senitize(time_string):

if '-' in time_string:

splitter='-'

elif ':' in time_string:

splitter=':'

else:

return(time_string)

(mins,secs)=time_string.split(splitter)

return(mins+'.'+secs)

def get_coach_data(filename):

try:

with open(filename) as f:

data=f.readline()

user=data.strip().split(',')

user_data={}

user_data['Name']=user.pop(0)

user_data['DOB']=user.pop(0)

user_data['Times']=user

print(user_data['Name']+"'s fastest times are:"+ str(sorted(set([senitize(t) for t in user_data['Times']]))[0:3]))

except IOError as ioerr:

print('File error' +str (ioerr))

return (None)

get_coach_data('sarah2.txt')

get_coach_data('james2.txt')

get_coach_data('mikey2.txt')

get_coach_data('julie2.txt')

========== RESTART: C:/Users/eric/Documents/Python/kelly/kelly2.py ==========

Sarah Sweeney's fastest times are:['2.18', '2.21', '2.22']

James Lee's fastest times are:['2.01', '2.16', '2.22']

Mikey McManus's fastest times are:['2.22', '2.31', '2.38']

Julie Jones's fastest times are:['2.11', '2.23', '2.59']

python 字典查询比列表快_Python 字典和列表的对比应用相关推荐

  1. python 字典查询比列表快_Python字典vs列表,哪个更快?

    我正在编写一个欧拉问题,我遇到的问题激起了我的好奇心.我有两个代码片段.一个是列表,另一个是字典. 使用清单: n=100000 num=[] suma=0 for i in range(n,1,-1 ...

  2. python中字典列表元组_Python中的列表和元组

    python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...

  3. python字典的特点是什么_python字典特点

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 前面的课程讲解了字符串str列表list元组tuple,还有最后一种比较重要的数 ...

  4. python字典和集合双向索引_Python字典和集合

    字典和集合基础字典是一系列无序元素的组合,其长度大小可变,元素可以任意的删减和改变.不过,这里的元素是一堆键(key)和值(value)的配对. 集合没有键和值的配对,是一系列无序的.唯一的元素组合. ...

  5. python列表迭代器_Python 迭代器之列表解析

     尽管while和for循环能够执行大多数重复性任务, 但是由于序列的迭代需求如此常见和广泛, 以至于Python提供了额外的工具以使其更简单和高效. 迭代器在Python中是以C语言的速度运行的, ...

  6. python列表解析式_Python基础入门-列表解析式

    今天我们使用Python中的列表解析式来实现一些简单功能.好了关于列表解析式是什么?我的理解是它可以根据已有列表,高效创建新列表的方式.列表解析是Python迭代机制的一种应用,它常用于实现创建新的列 ...

  7. pymongo查询列表元素_Python数据类型之列表list

    # 列表是python中最基本的数据结构,它是一个有序序列,序列中的每个元素都分配一个数字(位置,索引) # 1.我们可以使用 方括号,中括号[]来创建列表 # 2.我们可以直接将序列放在list(s ...

  8. python返回列表数据类型_python 数据类型之列表(list)

    一.表达方式 1.英文[]表示 2.列表内部可以存储任意类型的数据 3.可变的有序序列 二.常用函数 1.type():查询变量的类型,如type(["name", "s ...

  9. python 批量查询网页导出结果_python批量查询网页的HTTP状态码

    最近业余时间在改版一个网站,改版之前频繁调整了一些栏目的属性,包括栏目的层级,这种最怕就是调整了栏目的从属关系,导致了栏目的URL地址改变,一旦改版就导致整个栏目及其下面的文章页地址变更,成为死链.而 ...

最新文章

  1. c枚举类型enum例题_一篇文章让你详细了解Java中Enum枚举类的使用
  2. 百度UEditor编辑器关闭抓取远程图片功能(默认开启)
  3. 1.8 欠拟合和过拟合-机器学习笔记-斯坦福吴恩达教授
  4. 360浏览器的收藏栏不见了怎么办?
  5. containerd镜像导入import和push命令 gzip压缩解压缩命令
  6. IDEA 类图功能使用方法
  7. SAP ERP里如何创建一个新的material类型
  8. DOMBOM(source、methods、contents、Application)
  9. 【视频回放与课件】零基础入门AI开发
  10. java servlet_Java Servlet的前100个问题
  11. OceanBase云平台简介
  12. Framework7 + Angular 开发问题解决汇总
  13. sas程序matlab,MATLAB/SAS学习笔记
  14. 博应用官网交互设计五个层次理论,你怎么看
  15. 60条有名的原则与定理
  16. 深圳招银java社招都有hr面吗,深圳招银网络科技
  17. 不要让自己的大脑变成别人思想的跑马场-叔本华
  18. SQL——子查询的概念及使用
  19. Halcon算子说明
  20. 人脸识别考勤系统安卓APP(手把手教学-手动滑稽)

热门文章

  1. C/C++混淆点-左移右移操作符
  2. python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
  3. 【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动
  4. 8.使用Exists监控ZNode的三大Change事件
  5. 修改项目名称之后,访问不到项目的问题
  6. linux中使用lftp上传下载文件
  7. Cocos2D研究院之CCNode详解(三)
  8. Hadoop学习笔记(一)从官网下载安装包
  9. [原]当你用%查不到记录的时候怎么办?
  10. 迭代子模式(Iterator)