Heim > Backend-Entwicklung > Python-Tutorial > Was ist der effizienteste Weg, die Ziffern einer ganzen Zahl zu summieren?

Was ist der effizienteste Weg, die Ziffern einer ganzen Zahl zu summieren?

Mary-Kate Olsen
Freigeben: 2024-11-29 11:04:11
Original
482 Leute haben es durchsucht

What's the Most Efficient Way to Sum the Digits of an Integer?

Summiere die Ziffern einer Zahl

Frage:

Bestimmen Sie die effizientesten Methoden für Berechnen der Ziffernsumme einer gegebenen Zahl Ganzzahl.

Antwort:

Während die bereitgestellten Pythonic-Methoden den String-Konvertierungs- und Mapping-Ansatz (sum(int(digit) für Ziffer in str(number)) und sum (map(int, str(number)))) akzeptabel sind, gibt es einen effizienteren Ansatz: direkte Ganzzahlmanipulation.

Ganzzahlmanipulation Methoden:

  • sum_digits(): Iteriert jede Ziffer durch Modulo- und Divisionsoperationen.
  • sum_digits2(): Ähnlich wie sum_digits(), aber mit divmod für Effizienz.
  • sum_digits3(): Optimiert die Vorgänge in einer einzigen Zuweisungsanweisung.

Leistungsvergleich:

Das Benchmarking dieser Methoden zeigt ihre relative Effizienz:

def sum_digits3(n) is the fastest, followed by sum_digits(), sum_digits2(), sum(map(int, str(n))), sum([int(digit) for digit in str(n)]), 
    and finally sum(int(digit) for digit in str(n)).
Nach dem Login kopieren

Für optimale Geschwindigkeit sollten Sie daher direkt verwenden Integer-Manipulationsmethoden wie sum_digits3() werden gegenüber stringbasierten Ansätzen empfohlen.

Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, die Ziffern einer ganzen Zahl zu summieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage