Python – Ordenando un diccionario de tuplas

En este artículo ordenaremos un diccionario de tuplas. Diccionario de tuplas significa que tupla es un valor en un diccionario o tupla es clave en el diccionario.

Ejemplo :

{'key1': (1, 2, 3), 'key2': (3, 2, 1),.............}
or
{ (1, 2, 3):value, (3, 2, 1):value,.............}

Método 1: Usar el método sorted()

Con este método, podemos ordenar el diccionario de tuplas según las claves, los valores y los elementos, podemos usar for loop para ordenar todos los elementos en un diccionario de tuplas.

Sintaxis :

To sort based on items:
for i in sorted(dictionary.items()) :
     print(i, end = " ")

To sort based on keys:
for i in sorted(dictionary.keys()) :
     print(i, end = " ") 
     
To sort based on values:
for i in sorted(dictionary.values()) :
     print(i, end = " ")           

Ejemplo 1:

Python3

# declare a dictionary of tuple with student data
data = {'student1': ('bhanu', 10), 'student4': ('uma', 12),
        'student3': ('suma', 11), 'student2': ('ravi', 11),
        'student5': ('gayatri', 9)}
  
# sort student dictionary based  on items
for i in sorted(data.items()):
    print(i, end=" ")
print()
  
# sort student dictionary based  on values
for i in sorted(data.values()):
    print(i, end=" ")
print()
  
# sort student dictionary based  on keys
for i in sorted(data.keys()):
    print(i, end=" ")

Producción:

(‘estudiante1’, (‘bhanu’, 10)) (‘estudiante2’, (‘ravi’, 11)) (‘estudiante3’, (‘suma’, 11)) (‘estudiante4’, (‘uma’, 12 )) (‘estudiante5’, (‘gayatri’, 9)) 

(‘bhanu’, 10) (‘gayatri’, 9) (‘ravi’, 11) (‘suma’, 11) (‘uma’, 12) 

estudiante1 estudiante2 estudiante3 estudiante4 estudiante5

Podemos hacer un diccionario de tupla con clave como tupla también.

Ejemplo 2:

Programa de Python para crear un diccionario de tupla con una tupla como clave y aplicar la función ordenada()

Python3

# declare a dictionary of tuple with student data
data = {('bhanu', 10): 'student1',
        ('uma', 12): 'student4', 
        ('suma', 11): 'student3', 
        ('ravi', 11): 'student2',
        ('gayatri', 9): 'student5'}
  
# sort student dictionary based  on items
for i in sorted(data.items()):
    print(i, end=" ")
print()
  
# sort student dictionary based  on values
for i in sorted(data.values()):
    print(i, end=" ")
print()
  
# sort student dictionary based  on keys
for i in sorted(data.keys()):
    print(i, end=" ")

Producción:

((‘bhanu’, 10), ‘estudiante1’) ((‘gayatri’, 9), ‘estudiante5’) ((‘ravi’, 11), ‘estudiante2’) ((‘suma’, 11), ‘estudiante3 ‘) ((‘uma’, 12), ‘estudiante4’) 

estudiante1 estudiante2 estudiante3 estudiante4 estudiante5 

(‘bhanu’, 10) (‘gayatri’, 9) (‘ravi’, 11) (‘suma’, 11) (‘uma’, 12)

Método 2: Usando OrderedDict

OrderedDict está disponible en el módulo de colecciones utilizado para ordenar un diccionario con el método sorted().

Sintaxis :

To sort based on values:
OrderedDict(sorted(dictionary.values())

To sort based on items:
OrderedDict(sorted(dictionary.items())

Ejemplo 1: programa de Python para ordenar el diccionario de tupla

Python3

# import oOrderedDict module
from collections import OrderedDict
  
# declare a dictionary of tuple with student data
data = {'student3': ('bhanu', 10), 'student2': ('uma', 12),
        'student4': ('sai', 11), 'student1': ('suma', 11)}
  
# sort student dictionary of tuple based
# on values using OrderedDict
print(OrderedDict(sorted(data.values())))
print()
  
# sort student dictionary of tuple based
# on items using OrderedDict
print(OrderedDict(sorted(data.items())))

Producción:

OrderedDict([(‘bhanu’, 10), (‘sai’, 11), (‘suma’, 11), (‘uma’, 12)])

OrderedDict([(‘estudiante1’, (‘suma’, 11)), (‘estudiante2’, (‘uma’, 12)), (‘estudiante3’, (‘bhanu’, 10)), (‘estudiante4’, (‘sai’, 11))])

Ejemplo 2: Programa Python para ordenar el diccionario de tuplas donde las Tuplas serán la clave en el diccionario

Python3

# import orderedDict module
from collections import OrderedDict
  
# declare a dictionary of tuple with student data
data = {('bhanu', 10): 'student1', 
        ('uma', 12): 'student4', 
        ('suma', 11): 'student3', 
        ('ravi', 11): 'student2',
        ('gayatri', 9): 'student5'}
  
# sort student dictionary of tuple based 
# on items using OrderedDict
print(OrderedDict(sorted(data.items())))

Producción:

OrderedDict([((‘bhanu’, 10), ‘estudiante1’), ((‘gayatri’, 9), ‘estudiante5’), ((‘ravi’, 11), ‘estudiante2’), ((‘suma’ , 11), ‘estudiante3’), ((‘uma’, 12), ‘estudiante4’)])

Publicación traducida automáticamente

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