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实现找出数组中第2大数字的方法示例
Mar 26 Python
python使用rpc框架gRPC的方法
Aug 24 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
Python的numpy库下的几个小函数的用法(小结)
Jul 12 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
python numpy 反转 reverse示例
Dec 04 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
python的reverse函数翻转结果为None的问题
May 11 Python
Django models文件模型变更错误解决
May 11 Python
PyQt5实现简单的计算器
May 30 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 Python
教你使用Python pypinyin库实现汉字转拼音
May 27 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
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
PHP打印输出函数汇总
2016/08/28 PHP
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
Python读写Excel文件的实例
2013/11/01 Python
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
推荐11个实用Python库
2015/01/23 Python
python获取list下标及其值的简单方法
2016/09/12 Python
python中set()函数简介及实例解析
2018/01/09 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
PyQt5实现简易电子词典
2019/06/25 Python
PyQt5响应回车事件的方法
2019/06/25 Python
python-numpy-指数分布实例详解
2019/12/07 Python
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
实习生自荐信范文分享
2013/11/27 职场文书
行政专员工作职责
2013/12/22 职场文书
采购求职信
2014/03/17 职场文书
增员口号大全
2014/06/18 职场文书
最美家庭活动方案
2014/08/31 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
先进员工事迹材料
2014/12/20 职场文书
怎样写辞职信
2015/02/27 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
Elasticsearch 批量操作
2022/04/19 Python