Я бы сопоставил начало строк с комбинацией ваших строк комментариев, затем подсчитал вхождения.
И, наконец, вычислил строку с максимальным количеством вхождений
text="""
site,rank
#alexa.com/rankings
google.com,1
#yahoo.com,2
//whatever
# another comment
"""
import collections,re
POSSIBLE_COMMENT_CHARS = ['#', '//', '/*', '*/']
c = collections.Counter(re.findall("^({})".format("|".join(re.escape(x) for x in POSSIBLE_COMMENT_CHARS)),
text,flags=re.MULTILINE))
print(max(c,key=lambda k: c.get(k)))
печатает #
будьте осторожны с "|".join(re.escape(x) for x in POSSIBLE_COMMENT_CHARS
в общем случае, потому что это подразумевает линейный поиск.Если в вашем списке 5000
строк, это может быть довольно медленно.Здесь все в порядке.