Вы можете использовать collections.Counter
для построения словаря, отображающего значения в счетчики. Затем используйте понимание списка, чтобы отфильтровать счет, превышающий указанное значение.
from collections import Counter
L = list('abcccadeedd')
c = Counter(L)
res = [x for x in L if c[x] >=3]
# ['c', 'c', 'c', 'd', 'd', 'd']
Мое предпочтение состоит в том, чтобы отобразить самые критические компоненты URL. Это - файл, который требуют, и домен запроса то, что я считаю очень важными, промежуточный путь и строка запроса являются вещами, которые я считаю некритическими.
Таким образом, если бы у Вас был http://www.Example.com/archives/2005/08/09/something.html, то я усек бы его как www.Example.com/.../something.html
Конечно, существуют сценарии где эта работа привычки. Возьмите URL этой страницы:
Что является лучшим способом усечь URL так, чтобы он соответствовал в рамках расположения
В этом случае я усек бы последнюю часть URL к разумному количеству символов (предпочтительно повреждающийся на неальфе), таких как:
stackoverflow.com/.../whats-the-best...
Избавьтесь от середины, никто не должен знать структуру каталогов ссылки. Домен важен, и фактический файл важен.
Пример:
http://www.domainname.com/folder/.../file.php
Я ожидал бы видеть, по крайней мере, сервер. И поскольку долго я могу нависнуть над ссылкой и видеть остальную часть ее в моей строке состояния, я счастлив.
Думайте о ссылках в системе комментария Slashdot.
Я всегда хочу видеть сервер. Были волны клавиатурных перехватчиков с подозрительных серверов на некоторых форумах, которые я посещаю, и это дало мне паранойю сервера.
Идеально, я могу прокрутить вокруг и видеть весь URL в контейнере.:-)