Python 程序员需要知道的 30 个技巧

首先是数据:

将上边的四个数据分别写在新建的txt文件中

1、将txt数据转为列表

with open('james.txt') as jaf:
data = jaf.readline() #读取数据行
james = data.strip().split(',')#将数据转换为列表 with open('julie.txt') as jul:
data = jul.readline()
julie = data.strip().split(',') with open('sarah.txt') as sar:
data = sar.readline()
sarah = data.strip().split()

方法一

with open('james.txt') as jaf, open('julie.txt') as jul,open('sarah.txt') as sar:
data = jaf.readline() #读取数据行
james = data.strip().split(',')#将数据转换为列表 data = jul.readline()
julie = data.strip().split(',') data = sar.readline()
sarah = data.strip().split() print(james)
print(julie)
print(sarah)

方法二

2、排序:原地排序 james.sort()、复制排序:james2 = james.sorted()      默认升序,降序参数 sort(reverse= True)

由于数据中有-.:, 需要进一步操作

def sanitize(listt):
if '-' in listt:
splitter = '-'
elif ':' in listt:
splitter = ':'
else:
return (listt)
(mine, sece) = listt.split(splitter)# 分裂字符串 结合字符串
return (mine + '.' + sece) def returnkist(string):
with open(string) as jaf:
data = jaf.readline() # 读取数据行
james = data.strip().split(',') # 将数据转换为列表
clean_james = []
for ja in james:
clean_james.append(sanitize(ja))
clean_james.sort(reverse=True) return clean_james clean = returnkist('james.txt')
print(clean)

方法一

def sanitize(listt):
if '-' in listt:
splitter = '-'
elif ':' in listt:
splitter = ':'
else:
return (listt)
(mine, sece) = listt.split(splitter)# 分裂字符串 结合字符串
return (mine + '.' + sece) with open('james.txt') as jaf, open('julie.txt') as jul,open('sarah.txt') as sar:
data = jaf.readline() #读取数据行
james = data.strip().split(',')#将数据转换为列表 data = jul.readline()
julie = data.strip().split(',') data = sar.readline()
sarah = data.strip().split()
clean_james = []
for ja in james:
clean_james.append(sanitize(ja))
clean_james.sort()
print(clean_james)

方法二

3、要返回前三名的成绩

def returnkist(string):
with open(string) as jaf:
data = jaf.readline() # 读取数据行
james = data.strip().split(',') # 将数据转换为列表
clean_james = [sanitize(s) for s in james]
clean_james.sort(reverse=True) return [clean_james[a] for a in range(3)]
-----------------------------------------------

Python3 将txt数据转换成列表,进行排序,筛选的更多相关文章

  1. 2019年6月12日——开始记录并分享学习心得——Python3.7中对列表进行排序

    Python中对列表的排序按照是排序是否可以恢复分为:永久性排序和临时排序. Python中对列表的排序可以按照使用函数的不同可以分为:sort( ), sorted( ), reverse( ). ...

  2. 从零开始学习PYTHON3讲义(八)列表类型跟冒泡排序

    <从零开始PYTHON3>第八讲 ​前面我们见过了不少的小程序,也见过了不少不同类型的变量使用的方法.但目前我们涉及到的,还都是单个的变量和单个的立即数.以变量来说,目前我们见到的,基本都 ...

  3. Python list列表的排序

    当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...

  4. python内置数据类型-字典和列表的排序 python BIT sort——dict and list

    python中字典按键或键值排序(我转!)   一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...

  5. Caffe框架,图像数据转换成LMDB数据格式

    小码农最近在研究深度学习,对所学知识做点记录,以供以后翻阅.在Caffe框架中,数据的格式都是LMDB的,如何将图像数据转换成这个格式呢? 首先,将图像数据和标签生成txt文档,执行一下代码: fin ...

  6. wxPython制作跑monkey工具(python3)-带显示设备列表界面

    一. wxPython制作跑monkey工具(python3)-带显示设备列表界面  源代码 Run Monkey.py #!/usr/bin/env python import wx import ...

  7. python3学习笔记五(列表2)

    参考http://www.runoob.com/python3/python3-list.html 嵌套列表 a = ['a','b','c']b = [1,2,3]x = [a, b]print(x ...

  8. SpringMVC系列(十一)把后台返回的数据转换成json、文件下载、文件上传

    一.后台返回的数据转换成json 1.引入转换json需要的3个依赖 <!--json转换需要的依赖 begin --> <dependency> <groupId> ...

  9. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

随机推荐

  1. 七、VueJs 填坑日记之渲染一个列表

    在上一篇博文中,我们对vue组件有了一个简单的认识和大概的理解.在之前认识项目结构的时候,我们在/src目录中创建了一个components的文件夹,而今天就要用到了,这个文件夹的作用就是放置我们的自 ...

  2. android 圆角 ImageView

    android中Imageview 内的图片圆角的实现方式 此文针对的是 imageview中图片的圆角, 即忽略掉图片的ScaleType, 均对图片采取圆角.  而不是对Imageview本身的圆 ...

  3. 【魅族Pro7】——BootStrap/JQuery/Canvas/PHP/MySQL/Ajax爬坑之项目总结(一)

    前言:这个项目是我们小组团体合作完成的学习项目,项目使用魅族GUI设计和图片素材,响应式重构Pro7官网的首页.子页.商城及购物车,并加入一些创新.我主要负责的是[画屏子页]的项目,这里作为温故知新, ...

  4. 日志的艺术(The art of logging)

    程序员学习每一门语言都是从打印“hello world”开始的,日志也是新手程序员学习.调试程序的一大利器.当项目上线之后,也会有各种各样的日志,比如记录用户的行为.服务器的状态.异常情况等等.打印日 ...

  5. selenium 定位input输入框下的选择项

    今天的问题与下图中的类似 这是一个input型输入框,当我点击或输入值时,输入框下方会显示选择项帮助快速输入,代码如下: <input class="v-input some" ...

  6. TestLink使用

  7. iOS 处理socket粘包问题

    1.什么是粘包? 粘包通常出现在TCP的协议里面,对于UDP来说是不会出现粘包状况的,之所以出现这种状况的原因,涉及到一种名为Nagle的算法. Nagle算法通过减少必须发送的封包的数量,提高网络应 ...

  8. win10下Python3.6安装、配置以及pip安装包教程

    0.目录 1.前言 2.安装python 3.使用pip下载.安装包 3.1 安装Scrapy 3.2 安装PyQt 3.3 同时安装多个包 3.4 pip的常用命令 1.前言 之前在电脑上安装了py ...

  9. SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射

    前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置 ...

  10. webpack loader加载器

    配置loader,通过加载器处理文件,例如css sass less等,告诉webpack每一种文件都需要使用什么来加载器来处理. 1.node.js安装好之后也会自动默认安装好npm,所以cmd c ...