Ordenar lista de tuplas en Python

Vaibhhav Khetarpal 30 enero 2023
  1. Utilice la función list.sort() para ordenar la lista de tuplas en Python
  2. Utilice el algoritmo de clasificación de burbujas para ordenar la lista de tuplas en Python
Ordenar lista de tuplas en Python

En Python, se pueden almacenar varios elementos en una sola variable usando Tuplas. Una lista de tuplas se puede ordenar como una lista de números enteros.

Este tutorial discutirá diferentes métodos para ordenar una lista de tuplas según el primer, segundo o i-ésimo elemento de las tuplas.

Utilice la función list.sort() para ordenar la lista de tuplas en Python

La función list.sort() ordena los elementos de una lista en orden ascendente o descendente. Su parámetro key especifica el valor que se utilizará en la clasificación. key será una función u otros invocables que podrían aplicarse a cada elemento de la lista.

El siguiente código ordena las tuplas según el segundo elemento de todas las tuplas.

list_students = [
    ("Vaibhhav", 86),
    ("Manav", 91),
    ("Rajesh", 88),
    ("Sam", 84),
    ("Richie", 89),
]

# sort by second element of tuple
list_students.sort(key=lambda x: x[1])  # index 1 means second element

print(list_students)

Producción :

[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]

El orden se puede invertir a descendente configurando el parámetro reverse del método sort() en True.

El siguiente código ordena la lista de tuplas en orden descendente utilizando el parámetro reverse.

list_students = [
    ("Vaibhhav", 86),
    ("Manav", 91),
    ("Rajesh", 88),
    ("Sam", 84),
    ("Richie", 89),
]

# sort by second element of tuple
list_students.sort(key=lambda x: x[1], reverse=True)

print(list_students)

Producción :

[('Manav',91), ('Richie',89), ('Rajesh',88), ('Vaibhhav',86), ('Sam',84)]

Utilice el algoritmo de clasificación de burbujas para ordenar la lista de tuplas en Python

Bubble Sort es uno de los algoritmos de clasificación más simples; funciona intercambiando los elementos adyacentes en una lista si están en el orden incorrecto y repite este paso hasta que se ordena la lista.

El siguiente código ordena las tuplas según el segundo elemento y usa el algoritmo de clasificación de burbujas.

list_ = [("Vaibhhav", 86), ("Manav", 91), ("Rajesh", 88), ("Sam", 84), ("Richie", 89)]

# sort by second element of tuple
pos = 1
list_length = len(list_)

for i in range(0, list_length):
    for j in range(0, list_length - i - 1):
        if list_[j][pos] > list_[j + 1][pos]:
            temp = list_[j]
            list_[j] = list_[j + 1]
            list_[j + 1] = temp

print(list_)

Producción :

[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]

La variable pos especifica la posición por la que se debe realizar la ordenación, que en este caso es el segundo elemento.

También podemos usar el primer elemento para ordenar la lista de tuplas. El siguiente programa implementa esto.

list_ = [("Vaibhhav", 86), ("Manav", 91), ("Rajesh", 88), ("Sam", 84), ("Richie", 89)]

# sort by first element of tuple
pos = 0
list_length = len(list_)
for i in range(0, list_length):
    for j in range(0, list_length - i - 1):
        if list_[j][pos] > list_[j + 1][pos]:
            temp = list_[j]
            list_[j] = list_[j + 1]
            list_[j + 1] = temp

print(list_)

Producción :

[('Manav',91), ('Rajesh',88), ('Richie',89), ('Sam',84), ('Vaibhhav',86)]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artículo relacionado - Python Tuple