Python – Ordenar por Dígito de Unidades en la Lista

Dada una lista de enteros, ordenar por dígitos de unidad. 

Entrada : test_list = [76, 434, 23, 22342] 
Salida : [22342, 23, 434, 76] 
Explicación : 2 < 3 < 4 < 6, ordenados por dígitos unitarios.

Entrada : test_list = [76, 4349, 23, 22342] 
Salida : [22342, 23, 76, 4349] 
Explicación : 2 < 3 < 6 < 9, ordenados por dígitos unitarios. 

Método #1: Usar sort() + str()

En esto, realizamos la clasificación usando sort() y str() se usa para convertir números enteros en strings y luego ordenar por último dígito.

Python3

# Python3 code to demonstrate working of
# Sort by Units Digit in List
# Using sort() + str()
  
# helpr_fnc to sort
  
  
def unit_sort(ele):
  
    # get last element
    return str(ele)[-1]
  
  
# initializing lists
test_list = [76, 434, 23, 22342]
  
# printing original lists
print("The original list is : " + str(test_list))
  
# inplace sort by unit digits
test_list.sort(key=unit_sort)
  
# printing result
print("The unit sorted list : " + str(test_list))

Producción:

The original list is : [76, 434, 23, 22342]
The unit sorted list : [22342, 23, 434, 76]

Método #2: Usar sorted() + lambda + str()

En esto, realizamos la tarea de ordenar usando sorted() y la función lambda se usa para evitar llamadas a funciones externas.

Python3

# Python3 code to demonstrate working of
# Sort by Units Digit in List
# Using sorted() + lambda + str()
  
# initializing lists
test_list = [76, 434, 23, 22342]
  
# printing original lists
print("The original list is : " + str(test_list))
  
# inplace sort by unit digits
res = sorted(test_list, key=lambda sub: str(sub)[-1])
  
# printing result
print("The unit sorted list : " + str(res))

Producción:

The original list is : [76, 434, 23, 22342]
The unit sorted list : [22342, 23, 434, 76] 

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *