Você está aqui: Python ::: Dicas & Truques ::: Lista (List)

Como ordenar um array de acordo com a soma dos dígitos dos elementos em Python usando laços e list comprehension

Quantidade de visualizações: 759 vezes
Nesta dica mostrarei como podemos ordenar uma list do Python de acordo com a soma dos dígitos de seus elementos. Em outra dica dessa seção eu mostrei como realizar esta tarefa usando uma função lambda. Agora veremos como atingir o mesmo resultado usando laços e list comprehension.

Veja o código completo para o exemplo:

# função que permite ordenar um vetor de acordo com a soma de
# seus dígitos
def ordenar(valores):
  # primeiro criamos uma nova lista e copiamos para ela
  # os valores do vetor passado como parâmetro
  desordenado = valores.copy()
  
  # criamos o vetor que guardará os valores ordenados
  ordenado = []

  # enquanto houver elementos no vetor desordenado 
  while desordenado:
        # The number that comes first, since the list is sorted by the primes
    # vamos assumir que o primeiro valor é o menor de todos
    menor = desordenado[0]
    # vamos obter a soma dos dígitos deste número
    soma = sum(int(c) for c in str(menor) if c != "-")
    
    # agora percorremos todos os itens do vetor desordenado
    for elemento in desordenado:
      soma_elemento = sum(int(c) for c in str(elemento) if c != "-")
      # a soma deste elemento é menor que a soma que já tínhamos
      if soma_elemento < soma:
        menor = elemento
        soma = soma_elemento
      


Ao executar este código Python nós teremos o seguinte resultado:

O vetor original é:
[81, 10, 32, 40, 112, 9, 52, 15, 69]

Vetor ordenado de acordo com a soma de seus dígitos:
[10, 40, 112, 32, 15, 52, 81, 9, 69]

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 30 usuários muito felizes estudando em nosso site.