python 实现查找文件并输出满足某一条件的数据项方法


Posted in Python onJune 12, 2019

python 实现文件查找和某些项输出

本文是基于给定一文件(students.txt),查找其中GPA分数最高的 输出,同时输出其对应的姓名和学分

一. 思路

首先需要打开文件,读取文件的每一行,将姓名,学分,GPA值分别存到三个对应的列表中,对于GPA列表进行遍历,获取其中值最大的一项,但是需要保存最大值对应的索引,方便输出对应的姓名和学分项

二. 代码

版本1

# -*- coding: utf-8 -*-
"""
Created on Thu Feb 1 12:24:18 2018

@author: Administrator
"""

def main():
  file=open("students.txt",'r') 
  lines=file.readlines() #使用readlines()函数 读取文件的全部内容,存成一个列表,每一项都是以换行符结尾的一个字符串,对应着文件的一行

  list_name=[] #初始化一个空列表 用来存该文件的姓名 也就是第一列
  list_scores=[]
  list_gpa=[]

  for line in lines:   #开始进行处理 把第一列存到list_name 第二列存到list_scores,,,,,
    elements=line.split()
    list_name.append(elements[0])
    list_scores.append(elements[1])
    list_gpa.append(elements[2])

  max_gpa=0 
  index=0

  for i in range (len(list_gpa)):  #对于列表list_gpa 遍历该列表找其中gpa分数最高的
    if max_gpa <float(list_gpa[i]):
      max_gpa=float(list_gpa[i])
      index=i      #这一步就是记录list_gpa中GPA最高的在列表的第几个位置,方面输出对应的姓名和分数
  print("the person is {0} and the scores are {1} ,the gpa is {2}".format(list_name[index],list_scores[index],max_gpa))

main()

版本2

#这个是根据第二项hours和第三项points的比值,哪个值大就输出对应的学分points和GPA值points/hours

def main():
  file=open("students.txt",'r')
  lines=file.readlines()
  list_name=[]
  list_hours=[]
  list_points=[]

  for line in lines:
    elements=line.split()
    list_name.append(elements[0])
    list_hours.append(elements[1])
    list_points.append(elements[2])

  list_gpa=[] #这个列表用来存放hours 和points之间的比值

  for i in range(len(list_name)):
    a=float(list_hours[i])
    b=float(list_points[i])
    c=b/a
    list_gpa.append(str(c))  #把原来list_hours 和list_points中对应项的比值都存到list_gpa列表中

  maxgpa=0
  for i in range(len(list_gpa)):  #找list_gpa中值最大的那项
    if maxgpa<float(list_gpa[i]):
      maxgpa=float(list_gpa[i])
      index=i  #记录下gpa值最大的那项对应的索引值,方便输出其他项
  print("the max GPA is {},his name is {} and the scorespoint is {}".format(maxgpa,list_name[index],list_points[index]))

main()

以上这篇python 实现查找文件并输出满足某一条件的数据项方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单实现旋转图片的方法
May 30 Python
python 性能提升的几种方法
Jul 15 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
说说如何遍历Python列表的方法示例
Feb 11 Python
Python如何获取文件指定行的内容
May 27 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
Java Unsafe类实现原理及测试代码
Sep 15 Python
Django缓存Cache使用详解
Nov 30 Python
Python当中的array数组对象实例详解
Jun 12 #Python
Django模型序列化返回自然主键值示例代码
Jun 12 #Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 #Python
python 列表输出重复值以及对应的角标方法
Jun 11 #Python
使用python list 查找所有匹配元素的位置实例
Jun 11 #Python
python找出一个列表中相同元素的多个索引实例
Jun 11 #Python
三步实现Django Paginator分页的方法
Jun 11 #Python
You might like
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
PHP 文件类型判断代码
2009/03/13 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
PyQt5实现简易电子词典
2019/06/25 Python
python查看数据类型的方法
2019/10/12 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
Python 没有main函数的原因
2020/07/10 Python
Python Map 函数的使用
2020/08/28 Python
python 装饰器的使用示例
2020/10/10 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
运动会开幕式邀请函
2014/01/22 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
我去timi了,一起去timi是什么意思?
2022/04/13 杂记