Как подсчитать количество вхождения каждого слова в списке?
На Python это делается элементарно, при помощи класса Counter из модуля collections. А любое количество наиболее часто встречающихся элементов находите при помощи метода most_common():>>> text = ['1', '12', '123', '11', '1', '12', '12']
>>> from collections import Counter
>>> text_counts = Counter(text)
>>> text_counts
Counter({'12': 3, '1': 2, '11': 1, '123': 1})
>>> top_two = text_counts.most_common(2)
>>> top_two
[('12', 3), ('1', 2)]
Что вы подразумеваете под "вхождением" каждой строки? Частоту? 
Вы хотите получить что то типа:{1: 7, // 1 в 1, 12, 123, 11, 1, 12, 12
12: 4,
etc} ?
Или же{12: 3,
1: 2,
etc} ?from collections import OrderedDict
d = map(str,[1,12,123,11,3,12,12])
для первого: OrderedDict(sorted({i: len([j for j in d if j.startswith(i)]) for i in d}.items(), key=lambda x: x[1], reverse = True))
для второго: OrderedDict(sorted({i:d.count(i) for i in d}.items(), key=lambda x: x[1], reverse=True))