import sanitize
import get_data
#(1)方法一:对文件一个个进行打开以及去空格等处理成一个字符串的列表
'''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('mikey.txt') as mik:data = mik.readline()mikey=data.strip().split(',')
with open('sarah.txt') as sar:data = sar.readline()sarah=data.strip().split(',')'''
#方法二:利用函数将上面的步骤简化
james=get_data.get_data('james.txt')
print(james)
#(2)方法一:创建列表,迭代,转换,追加
'''clean_james=[]
clean_julie=[]
clean_mikey=[]
clean_sarah=[]
for each_t in james:clean_james.append(sanitize.sanitize(each_t))
for each_t in julie:clean_julie.append(sanitize.sanitize(each_t))
for each_t in mikey:clean_mikey.append(sanitize.sanitize(each_t))
for each_t in sarah:clean_sarah.append(sanitize.sanitize(each_t))
print(sorted(clean_james))
print(sorted(clean_julie))
print(sorted(clean_mikey))
print(sorted(clean_sarah))'''
#方法二:使用列表推导
'''print(sorted([sanitize.sanitize(each_t) for each_t in james]))
print(sorted([sanitize.sanitize(each_t) for each_t in julie]))
print(sorted([sanitize.sanitize(each_t) for each_t in mikey]))
print(sorted([sanitize.sanitize(each_t) for each_t in sarah]))'''
#(3)方法一:按要求输出成绩最好的前三个成绩,且不能重复,创建列表,迭代,追加
'''james2=sorted([sanitize.sanitize(each_t) for each_t in james])
use_james=[]
for each_t in james2:if each_t not in use_james:use_james.append(each_t)
print(use_james[0:3])'''
#方法二:按要求输出成绩最好的前三个成绩,且不能重复,set()集合方法,专门用来去除重复项
#print(sorted(set([sanitize.sanitize(each_t) for each_t in james]))[0:3])
def sanitize(time_string):if '-' in time_string:splitter='-'elif ':' in time_string:splitter=':'else:return(time_string)(min,sec)=time_string.split(splitter)return (min+'.'+sec)
def get_data(filename):try:with open(filename) as f:data = f.readline()return(data.strip().split(','))except IOError as err:print("File error:"+str(err))return(None)

NOTE:1)调用的文件**.py都必须在一个文件夹中

2)不同.py中利用import调用,代码中一定要加上模块名即*.py的名字,再加上函数名称

3)注意这里

         print(sorted(set([sanitize.sanitize(each_t) for each_t in james]))[0:3])

[0:3]是指从列表中第一个开始的前三个数据项,并非从索引号0到3的四个数据项

4)sorted()处理的是列表中的每个数据项,并不是整个列表

python中对列表排序,去重相关推荐

  1. python中对列表排序_在Python中对嵌套列表进行排序和分组

    在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...

  2. python中的列表排序

    对列表进行排序是常见的操作,最简单的方式是使用sort()函数. 1.一般用法 不管列表元素是数.字符串还是元组,函数sort()总是就地操作列表,按升序进行排列元素,并返回None. #数 > ...

  3. 这12种方法轻松合并Python中的列表

    我喜欢12这个数字,因为有太多的事情与12有关.一年有12个月;古代用12个时辰(地支)表示一天的时间.用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的<地球编年史>中 ...

  4. 如何在Python中反转列表?

    如何在Python中执行以下操作? array = [0, 10, 20, 40] for (i = array.length() - 1; i >= 0; i--) 我需要一个数组的元素,但是 ...

  5. 零基础Python完全自学教程15:Python中的列表

    欢迎你来到站长学堂,学习站长在线出品的在线课程<零基础 Python完全自学教程>今天给大家分享的是第14课< Python中的列表 >.本节课是一个大课,我分了这些知识点进行 ...

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

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

  7. linux列表中添加多个元素,这12种方法轻松合并Python中的列表

    导读 我喜欢12这个数字,因为有太多的事情与12有关.一年有12个月;古代用12个时辰(地支)表示一天的时间.用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的<地球编年史&g ...

  8. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...

  9. python中创建列表[]和list()哪个效率快?为什么快?快多少呢?

    python中创建列表的两种方式: # 方法一:使用成对的方括号语法 list_a = []# 方法二:使用内置的 list() list_b = list() 1. [] 是 list() 的三-四 ...

最新文章

  1. string转成对象_JAVA学习分享[008]——面向对象深化(一)
  2. 产品经理读:李善友《产品型社群-互联网思维的本质》
  3. leetcode189. 旋转数组
  4. CentOS经常使用文件操作命令[百度博客搬家]
  5. “企业知识产权管理与预警”培训活动在省技术产权交易市场成功举办
  6. Yuchuan_Linux_C编程之二 GCC编译
  7. 各种常用排序算法的时间复杂度和空间复杂度
  8. Python matplotlib 线图(plt.plot())
  9. cross apply
  10. python使用opencv图像聚类_Python3 OpenCV3图像处理-K-means 聚类
  11. 使用ASP.NET Atlas ItemView控件显示集合中的单个数据
  12. STM32MP157AAA3裸机点灯(汇编)
  13. kali解压deb_Kali下安装网易云音乐
  14. 射手播放器的 clientkey
  15. android9系统WIFI提示已连接,无法访问互联网
  16. RuntimeError: sizes of tensors must match except in dimension 2. Got 37 and 36
  17. Invalid bound statement (not found) 五种解决方法
  18. Duplicate entry '127' for key 'PRIMARY'
  19. javaScript中值传递和引用传递
  20. python根据关键字爬取微博_Python 超简单爬取微博热搜榜数据

热门文章

  1. 关于 QQ网络硬盘最新免排队 的两个方法
  2. 被动环绕解码混音方法
  3. 数据库Mysql——sql语句大全
  4. BZOJ 1567 [JSOI2008]Blue Mary的战役地图【二分答案】
  5. Goerli认证水龙头接水
  6. 头结点和头指针的区别
  7. 字符串第二大的数字——力扣刷题2021.9.26
  8. USB总线专题(五)——Mass storage 设备相关知识
  9. 神州交换机查看所有配置
  10. HDUOJ 1260 Tickets