# Given a string 'str', this counts all substrings with length 2 and print them def countsubstrings(str): dict = {} # dictionary: key => substring , value => its frequency for i in range(len(str)) substr = str[i:i+2] # substring with length 2 if len(substr) < 2: continue # check if 'substr' is in count if dict.has_key(substr): dict[substr] += 1 else: dict[substr] = 1 return(dict) if __name__ == '__main__': import sys str = sys.argv[1] # print str # for debug hash = countsubstrings(str) # print hash # for debug # sort dictionaries list = [ (hash[k], k) for k in hash.keys() ] list.sort() list.reverse() # print all substrings for (v, k) in list: print k, " occurs ", v, " times"