'''
Created on Nov 5, 2012

@author: ola
'''
import operator

def sort(data):
    '''
    data is a list of strings
    '''
    
    ss = sorted(set(data))
    lc = [(x,data.count(x)) for x in ss]
    print lc
    x = sorted(lc,key=operator.itemgetter(1),reverse=True)
    y = [tup[0] for tup in x]
    return y

if __name__ == "__main__":
    print sort(['apple','apple','banana','banana','cherry','banana','apple'])