fork(2) download
  1. def trocar(vals, posX, posY):
  2. temp = vals[posX]
  3. vals[posX] = vals[posY]
  4. vals[posY] = temp
  5. return None
  6.  
  7. def rearranjar_tupla(tupla):
  8. return (-tupla[2], tupla[1], tupla[0])
  9.  
  10. def ordenar(valores):
  11. tamanho = len(valores) - 1
  12. troquei = True
  13. while troquei:
  14. troquei = False
  15. for i in range(tamanho):
  16. if rearranjar_tupla(valores[i]) > rearranjar_tupla(valores[i + 1]):
  17. trocar(valores, i, i + 1)
  18. troquei = True
  19. tamanho -= 1
  20. return valores
  21.  
  22.  
  23. lista= [('Ana', 30, 6.69), ('João', 25, 6.11), ('Pedro', 30, 6.69), ('Maria', 28, 5.45), ('Thiago', 40, 5.45), ('Raquel', 26, 10.0)]
  24.  
  25. x=ordenar(lista)
  26. print(x)
  27.  
Success #stdin #stdout 0.04s 9296KB
stdin
stdout
[('Raquel', 26, 10.0), ('Ana', 30, 6.69), ('Pedro', 30, 6.69), ('João', 25, 6.11), ('Maria', 28, 5.45), ('Thiago', 40, 5.45)]