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中的迭代器漫谈
Feb 03 Python
Python中for循环和while循环的基本使用方法
Aug 21 Python
Python中字典的setdefault()方法教程
Feb 07 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
python实现对excel进行数据剔除操作实例
Dec 07 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
Apr 02 Python
python计算列表内各元素的个数实例
Jun 29 Python
django 捕获异常和日志系统过程详解
Jul 18 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
django 文件上传功能的相关实例代码(简单易懂)
Jan 22 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 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
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
Javascript实现的分页函数
2007/02/07 Javascript
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
浅析python协程相关概念
2018/01/20 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
医学专业个人求职自荐信格式
2013/09/23 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
新入职员工工作总结
2015/10/15 职场文书
高中英语教学反思范文
2016/03/02 职场文书
python urllib库的使用详解
2021/04/13 Python
Oracle锁表解决方法的详细记录
2022/06/05 Oracle