Как говорит Гангадхар, трудно точно определить, какая часть netloc является tld, но в вашем случае я бы немного изменил код Amber.Это отсортирует весь домен, сначала по последнему уровню, затем по второму и последнему уровню и т. Д.
Это может быть достаточно для того, что вам нужно, без необходимости ссылаться на внешние списки
import urlparse
def get_reversed_domain(domain)
return urlparse.urlparse(domain).netloc.split('.')[::-1]
sorted_list_of_domains = sorted(list_of_domains, key=get_reversed_domain)
Просто перечитайте ОП, если список уже состоит из доменов, вы можете просто использовать
sorted_list_of_domains = sorted(list_of_domains, key=lambda x:x.split('.')[::-1])