[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 codegay 于 2017-12-11 00:16 编辑
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Sun Dec 10 23:28:33 2017
  4. @author: codegay
  5. python3 & 编辑器 == spyder
  6. """
  7. with open("a.txt") as f:
  8.     txt = f.read()
  9.     #剔除不想统计的字符如回车,括号
  10.     char = list(set([r for r in txt if r not in """\n()()"""]))
  11.     result = {r: txt.count(r) for r in char}
  12.     # 排序
  13.     result = sorted(result.items(), key=lambda d: d[1], reverse=True)
  14. from pprint import pprint
  15. pprint(result)
  16. """
  17. [('-', 270),
  18. ('7', 144),
  19. ('8', 127),
  20. ('1', 123),
  21. ('9', 114),
  22. ('L', 109),
  23. ('O', 108),
  24. ('T', 108),
  25. ('F', 108),
  26. ('U', 108),
  27. ('J', 104),
  28. ('6', 36),
  29. ('4', 34),
  30. ('5', 31),
  31. ('3', 15),
  32. ('0', 15),
  33. ('2', 12),
  34. ('D', 4),
  35. ('M', 3),
  36. ('X', 3),
  37. (' ', 2),
  38. ('a', 2),
  39. ('u', 1),
  40. ('b', 1),
  41. ('l', 1),
  42. ('m', 1)]
  43. """
  44. 加了个排序。
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

  1. from collections import Counter
  2. from pprint import pprint
  3. def charlist(txtfile):
  4.     with open(txtfile) as f:
  5.         txt = [r for r in f.read() if r not in """\n() """]
  6.         return txt
  7. pprint(Counter(charlist('a.txt')))
  8. '''
  9. Counter({'-': 270,
  10.          '7': 144,
  11.          '8': 127,
  12.          '1': 123,
  13.          '9': 114,
  14.          'L': 109,
  15.          'O': 108,
  16.          'T': 108,
  17.          'F': 108,
  18.          'U': 108,
  19.          'J': 104,
  20.          '6': 36,
  21.          '4': 34,
  22.          '5': 31,
  23.          '3': 15,
  24.          '0': 15,
  25.          '2': 12,
  26.          'D': 4,
  27.          'M': 3,
  28.          'X': 3,
  29.          'a': 2,
  30.          'u': 1,
  31.          'b': 1,
  32.          'l': 1,
  33.          'm': 1})
  34.     '''
复制代码
这个方法用了python 的标准库 collections里的函数。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

nim语言的版本,感觉也还行。主要是用了标准库 中的CountTable,代码量不算太多。
  1. import tables
  2. var result = initCountTable[char]()
  3. for line in lines "a.txt":
  4.     for c in line:
  5.         result.inc c
  6. # 对统计结果排序
  7. sort result
  8. for k,v in pairs result:
  9.     echo k,": ",v
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表