Python | Clasificación de URL en función del dominio de nivel superior

Dada una lista de URL, la tarea es ordenar la URL en la lista según el dominio de nivel superior.
Un dominio de nivel superior (TLD) es uno de los dominios en el nivel más alto en el Sistema de nombres de dominio jerárquico de Internet. Ejemplo: org, com, edu.
Esto se usa principalmente en un caso en el que tenemos que descartar las páginas y ordenar la URL según el dominio de nivel superior. Es ampliamente utilizado en proyectos de código abierto y sirve como fragmento útil para su uso.

Input :
url = ["https://www.isb.edu", "www.google.com", 
"http://cyware.com", "https://www.gst.in", 
"https://www.coursera.org", "https://www.create.net", 
"https://www.ontariocolleges.ca"]

Output :
['https://www.ontariocolleges.ca', 'www.google.com', 
'http://cyware.com', 'https://www.isb.edu', 
'https://www.gst.in', 'https://www.create.net',
 'https://www.coursera.org']

Explanation:
The Tld for the above list is in sorted order
['.ca','.com','.com','.edu','.in','.net','.org']

A continuación se muestran algunas formas de realizar la tarea anterior.

Método 1: Uso ordenado
Puede dividir la entrada y luego usar la clasificación para ordenar según el TLD.

#Python code to sort the URL in the list based on the top-level domain.
  
#Url list initialization
Input = ["https://www.isb.edu", "www.google.com", "http://cyware.com",
 "https://www.gst.in", "https://www.coursera.org",
 "https://www.create.net", "https://www.ontariocolleges.ca"]
  
#Function to sort in tld order
def tld(Input):
    return Input.split('.')[-1]
  
#Using sorted and calling function
Output = sorted(Input,key=tld)
  
#Printing output
print("Initial list is :")
print(Input)
print("sorted list according to TLD is")
print(Output)
Initial list is :

['https://www.isb.edu', 'www.google.com', 'http://cyware.com',
 'https://www.gst.in', 'https://www.coursera.org', 
'https://www.create.net', 'https://www.ontariocolleges.ca']

Sorted list according to TLD is :

['https://www.ontariocolleges.ca', 'www.google.com', 
'http://cyware.com', 'https://www.isb.edu',
 'https://www.gst.in', 'https://www.create.net', 'https://www.coursera.org']

Método 2: usar Lambda
La forma más concisa y legible de ordenar la URL en la lista según el dominio de nivel superior es usar lambda.

#Python code to sort the URL in the list based on the top-level domain.
  
#Url list initialization
Input = ["https://www.isb.edu", "www.google.com", "http://cyware.com",
"https://www.gst.in", "https://www.coursera.org",
"https://www.create.net", "https://www.ontariocolleges.ca"]
  
#Using lambda and sorted 
Output = sorted(Input,key=lambda x: x.split('.')[-1])
  
#Printing output
print("Initial list is :")
print(Input)
print("sorted list according to TLD is")
print(Output)
Initial list is :

['https://www.isb.edu', 'www.google.com', 'http://cyware.com',
 'https://www.gst.in', 'https://www.coursera.org', 
'https://www.create.net', 'https://www.ontariocolleges.ca']

Sorted list according to TLD is :

['https://www.ontariocolleges.ca', 'www.google.com', 
'http://cyware.com', 'https://www.isb.edu',
 'https://www.gst.in', 'https://www.create.net', 'https://www.coursera.org']

Método 3: Usar invertido
Revertir la entrada y dividirla y luego aplicar una ordenación para ordenar la URL de acuerdo con el TLD

#Python code to sort the URL in the list based on the top-level domain.
  
#Url list initialization
Input = ["https://www.isb.edu", "www.google.com", "http://cyware.com",
"https://www.gst.in", "https://www.coursera.org",
"https://www.create.net", "https://www.ontariocolleges.ca"]
  
#Internal function for reversed
def internal(string):
    return list(reversed(string.split('.')))
  
#Using sorted and calling internal for reversed
Output = sorted(Input, key=internal)
  
#Printing output
print("Initial list is :")
print(Input)
print("sorted list according to TLD is")
print(Output)
Initial list is :

['https://www.isb.edu', 'www.google.com', 'http://cyware.com',
 'https://www.gst.in', 'https://www.coursera.org', 
'https://www.create.net', 'https://www.ontariocolleges.ca']

Sorted list according to TLD is :

['https://www.ontariocolleges.ca', 'www.google.com', 
'http://cyware.com', 'https://www.isb.edu',
 'https://www.gst.in', 'https://www.create.net', 'https://www.coursera.org']

Publicación traducida automáticamente

Artículo escrito por everythingispossible y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *