python中对列表排序,去重
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中对列表排序,去重相关推荐
- python中对列表排序_在Python中对嵌套列表进行排序和分组
在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...
- python中的列表排序
对列表进行排序是常见的操作,最简单的方式是使用sort()函数. 1.一般用法 不管列表元素是数.字符串还是元组,函数sort()总是就地操作列表,按升序进行排列元素,并返回None. #数 > ...
- 这12种方法轻松合并Python中的列表
我喜欢12这个数字,因为有太多的事情与12有关.一年有12个月;古代用12个时辰(地支)表示一天的时间.用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的<地球编年史>中 ...
- 如何在Python中反转列表?
如何在Python中执行以下操作? array = [0, 10, 20, 40] for (i = array.length() - 1; i >= 0; i--) 我需要一个数组的元素,但是 ...
- 零基础Python完全自学教程15:Python中的列表
欢迎你来到站长学堂,学习站长在线出品的在线课程<零基础 Python完全自学教程>今天给大家分享的是第14课< Python中的列表 >.本节课是一个大课,我分了这些知识点进行 ...
- python中字典列表元组_Python中的列表和元组
python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...
- linux列表中添加多个元素,这12种方法轻松合并Python中的列表
导读 我喜欢12这个数字,因为有太多的事情与12有关.一年有12个月;古代用12个时辰(地支)表示一天的时间.用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的<地球编年史&g ...
- 逗号分隔的字符串转换为Python中的列表 split
将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...
- python中创建列表[]和list()哪个效率快?为什么快?快多少呢?
python中创建列表的两种方式: # 方法一:使用成对的方括号语法 list_a = []# 方法二:使用内置的 list() list_b = list() 1. [] 是 list() 的三-四 ...
最新文章
- string转成对象_JAVA学习分享[008]——面向对象深化(一)
- 产品经理读:李善友《产品型社群-互联网思维的本质》
- leetcode189. 旋转数组
- CentOS经常使用文件操作命令[百度博客搬家]
- “企业知识产权管理与预警”培训活动在省技术产权交易市场成功举办
- Yuchuan_Linux_C编程之二 GCC编译
- 各种常用排序算法的时间复杂度和空间复杂度
- Python matplotlib 线图(plt.plot())
- cross apply
- python使用opencv图像聚类_Python3 OpenCV3图像处理-K-means 聚类
- 使用ASP.NET Atlas ItemView控件显示集合中的单个数据
- STM32MP157AAA3裸机点灯(汇编)
- kali解压deb_Kali下安装网易云音乐
- 射手播放器的 clientkey
- android9系统WIFI提示已连接,无法访问互联网
- RuntimeError: sizes of tensors must match except in dimension 2. Got 37 and 36
- Invalid bound statement (not found) 五种解决方法
- Duplicate entry '127' for key 'PRIMARY'
- javaScript中值传递和引用传递
- python根据关键字爬取微博_Python 超简单爬取微博热搜榜数据