1. 迭代删除重复项:先排序列表项,然后通过新迭代(not in)去除重复项,分片打印

  1. def sanitize(time_string):
  2. if '-' in time_string:
  3. splitter = '-'
  4. elif ':' in time_string:
  5. splitter = ':'
  6. else:
  7. return (time_string)
  8. (mins, secs)=time_string.split(splitter)
  9. return(mins + '.' + secs)
  10.  
  11. with open ('james.txt') as jas: data = jas.readline()
  12. james=data.strip().split(',')
  13.  
  14. print('before sort and senitize, unique for james',james)
  15. james=sorted ([sanitize(t) for t in james])
  16. unique_james=[]
  17. for each_t in james:
  18. if each_t not in unique_james:
  19. unique_james.append(each_t)
  20. print('First 3 time for james',unique_james[0:3])
  21.  
  22. =========== RESTART: C:\Users\eric\Documents\Python\kelly\kelly.py ===========
  23. before sort and senitize, unique for james ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']
  24. First 3 time for james ['2.01', '2.22', '2.34']

2. 集合删除重复项:先set创建集合去除重复项,然后进行排序,分片打印

  1. def sanitize(time_string):
  2. if '-' in time_string:
  3. splitter = '-'
  4. elif ':' in time_string:
  5. splitter = ':'
  6. else:
  7. return (time_string)
  8. (mins, secs)=time_string.split(splitter)
  9. return(mins + '.' + secs)
  10.  
  11. with open ('james.txt') as jas: data = jas.readline()
  12. james=data.strip().split(',')
  13.  
  14. print('before sort and senitize, unique for james',james)
  15. james=sorted (set([sanitize(t) for t in james]))
  16. print('First 3 time for james',james[0:3])
  17.  
  18. =========== RESTART: C:\Users\eric\Documents\Python\kelly\kelly.py ===========
  19. before sort and senitize, unique for james ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']
  20. First 3 time for james ['2.01', '2.22', '2.34']

3.精简代码,创建一个小函数rmspace去除空白符,通过函数调用分片打印

  1. def sanitize(time_string):
  2. if '-' in time_string:
  3. splitter = '-'
  4. elif ':' in time_string:
  5. splitter = ':'
  6. else:
  7. return (time_string)
  8. (mins, secs)=time_string.split(splitter)
  9. return(mins + '.' + secs)
  10.  
  11. def rmspace(file):
  12. with open(file) as fo: data=fo.readline()
  13. return data.strip().split(',')
  14.  
  15. james=rmspace('james.txt')
  16. print('before sort and senitize, unique for james',james)
  17. print('First 3 time for james',sorted(set([sanitize(t) for t in james]))[0:3])
  18.  
  19. =========== RESTART: C:\Users\eric\Documents\Python\kelly\kelly.py ===========
  20. before sort and senitize, unique for james ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']
  21. First 3 time for james ['2.01', '2.22', '2.34']

Python 迭代删除重复项,集合删除重复项的更多相关文章

  1. 【python】Leetcode每日一题-删除有序数组中的重复项

    [python]Leetcode每日一题-删除有序数组中的重复项 [题目描述] 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现一次 ,返回删除后数组的新长度. 不要 ...

  2. 【python】Leetcode每日一题-删除有序数组中的重复项2

    [python]Leetcode每日一题-删除有序数组中的重复项2 [题目描述] 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不 ...

  3. SQL根据B表内容修改A表内容,查询表中重复记录,删除掉重复项只保留一条

    以下sql是a,b两张表通过关联条件id修改a表值,如果b表有重复数据记录,选第一条更新,红色条件为附加限制条件,具体视情况而定: UPDATE a SETname = b.fname,pwd = b ...

  4. Leetcode_删除排序数组中的重复项

    Leetcode  删除排序数组中的重复项 题目: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用 额外的数组空间,你必须在原地修改输入数 ...

  5. leetcode-26.删除重复数组中的重复项

    leetcode-26.删除重复数组中的重复项 题意 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数 ...

  6. LeetCode 80. 删除排序数组中的重复项 II

    LeetCode 80. 删除排序数组中的重复项 II

  7. leecode刷题(1)-- 删除排序数组中的重复项

    删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的 ...

  8. Oracle里删除重复记录,保留一项

    我们在使用数据库的时候,有时数据会有所重复,当我们只需要一项数据时,不需要显示重复的记录时 如下就有SQL代码: --查找表中多余的重复记录,重复记录是根据单个字段来判断 select * from ...

  9. LeetCode:删除排序数组中的重复项||【80】

    LeetCode:删除排序数组中的重复项||[80] 题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原 ...

随机推荐

  1. C. Polycarpus' Dice

    在每个位置讨论一下最大值最小值的取值范围就行 #include<cstdio> #include<iostream> #define maxn 200003 using nam ...

  2. DEDECMS调用特定ID文章内容的实现方法

    DEDECMS调用特定ID文章内容的实现方法 {dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'} [field: ...

  3. C语言学习笔记 -冒泡排序

    //冒泡排序 void main(){ , , , , }; ]); ; i<max - ; i++) { for (int j = i; j<max; j++) { if (a[i]&g ...

  4. Oracle 删除用户和表空间

    版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用 ...

  5. squid代理服务器搭建及配置

    系统环境:CentOS release 6.5 (Final)(最小化安装) 一.安装squid # yum -y install squid 二.编辑配置文件(正向代理) # vim /etc/sq ...

  6. POJ 1195 Mobile phones(二维树状数组)

                                                                  Mobile phones Time Limit: 5000MS   Mem ...

  7. 英语语法最终珍藏版笔记-18what 从句的小结

    what 从句的小结 1.意思是“所….的事/物”, 相当于the thing(s) that…, that which…, 或those which… 可以用于以下情况: (1) 引导主语从句.如: ...

  8. 团队项目开发中,常见的版本控制有svn,git

    团队项目开发中,常见的版本控制有svn,git

  9. Python爬虫学习笔记——豆瓣登陆(二)

    昨天能够登陆成功,但是不能使用cookies,今天试了一下requests库的Session(),发现可以保持会话了,代码只是稍作改动. #-*- coding:utf-8 -*- import re ...

  10. ExtJS4.2.1自定义主题(theme)样式详解

    (基于Ext JS 4.2.1版本) UI组件 学习ExtJS就是学习组件的使用.ExtJS4对框架进行了重构,其中最重要的就是形成了一个结构及层次分明的组件体系,由这些组件形成了Ext的控件. Ex ...