当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : uniq 基本上就是用python來干不sort的sort -u
帖子发表于 : 2012-11-16 18:39 
头像

注册: 2005-07-02 14:41
帖子: 4160
系统: Ubuntu 14.04 (Kylin)
送出感谢: 64
接收感谢: 12
如題

代码:
#!/usr/bin/env python3.1

# written by Jakukyo Friel <weakish@gmail.com>
# under GPL v2

# omit repeated lines,
# i.e. 'sort | uniq' or 'sort -u' without reordering.

# I want to be unique,
# not sort of unique.
# I only want you,
# not sort of you.


import functools

def uniq(uniqlines, line):
  '''
  >>> uniq((), 1)
  (1,)
  >>> uniq((1,), 2)
  (1, 2)
  >>> uniq((1, 2), 2)
  (1, 2)
  '''
  return uniqlines if line in uniqlines else uniqlines + (line,)

def uniq_lines(lines):
  '''
  >>> tuple(uniq_lines((3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3)))
  (3, 1, 4, 5, 9, 2, 6, 8, 7)
  '''
  return functools.reduce(uniq, lines, ())

def unit_test():
  import doctest
  doctest.testmod()


def main():
  import sys
  unit_test()
  print('\n'.join(uniq_lines(sys.stdin.read().split('\n'))))

if __name__ == '__main__':
  main()



放在gitcafe上 https://gitcafe.com/weakish/uniq/blob/master/uniq.py


_________________
https://weakish.github.io


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译