Guest User

Untitled

a guest
Apr 9th, 2014
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.15 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import sys
  4.  
  5. def do(filename):
  6.     with open(filename, 'r') as f:
  7.         string = f.read()
  8.    
  9.     string = string.strip()
  10.     string = string.lower()
  11.    
  12.     dict_replacement = {
  13.         " ": ["’", "-"],
  14.         "": [",", "?", "!", ".", ":", ";", "\"", "»", "«"],
  15.         "e": ["é", "è", "ê", "ë"],
  16.         "i": ["ï", "î"],
  17.         "c": ["Ç", "ç"],
  18.         "o": ["ô",],
  19.         "a": ["à",],
  20.         "u": ["ù",],
  21.         "oe": ["œ",]
  22.     }
  23.    
  24.     for k, v in dict_replacement.items():
  25.         for c in v:
  26.             string = string.replace(c, k)
  27.    
  28.     mots = string.split()
  29.     table = {}
  30.     for pos, val in enumerate(mots):
  31.         try:
  32.             table[val].append(str(pos))
  33.         except KeyError, e:
  34.             table[val] = [str(pos)]
  35.    
  36.     tables = {}
  37.     cur_len = 0
  38.     tmp_len = 0
  39.     for key, val in table.items():
  40.         try:
  41.             tables[len(val)][key] = val
  42.         except KeyError, e:
  43.             tables[len(val)] = {key: val}
  44.            
  45.     x = 0
  46.     while True:
  47.         x += 1
  48.         try:
  49.             tables[x] = sorted(tables[x].items(), key=lambda (k, v) : (int(v[0])))
  50.             for k, v in tables[x]:
  51.                 print "- {}: {}".format(k, " ".join(v))
  52.         except KeyError:
  53.             if x >= len(tables.keys()):
  54.                 break;
  55.    
  56. if __name__=='__main__':
  57.     do(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment