Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich in Python eine Ausrichtung gedruckter Zeichenfolgen mit fester Breite erreichen?

Wie kann ich in Python eine Ausrichtung gedruckter Zeichenfolgen mit fester Breite erreichen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-05 22:32:02727Durchsuche

How can I achieve fixed-width alignment of printed strings in Python?

Zeichenfolgen mit fester Breitenausrichtung drucken

Beim Programmieren ist es aus Gründen der Übersichtlichkeit und visuellen Organisation oft wünschenswert, Zeichenfolgen in festen Spalten auszurichten. In diesem Artikel wird untersucht, wie Sie dies mithilfe erweiterter Formatierungstechniken in Python erreichen können.

Problem: Ausrichten ungleicher Zeichenfolgenwerte

Betrachten Sie den folgenden Code, der die Häufigkeit aller Permutationen in einer bestimmten Zeichenfolge berechnet:

# Original code to generate permutations
...

# Printing results
unique = sorted(set(el))
for prefix in unique:
    if prefix != "":
        print("value  ", prefix, "- num of occurrences =   ", string.count(str(prefix)))

Allerdings kann die Ausgabe aufgrund unterschiedlicher Zeichenfolgenlängen falsch ausgerichtet erscheinen:

value   a - num of occurrences =    1
value   ab - num of occurrences =    1
value   abc - num of occurrences =    1
value   b - num of occurrences =    1
value   bc - num of occurrences =    1
value   bcd - num of occurrences =    1
value   c - num of occurrences =    1
value   cd - num of occurrences =    1
value   d - num of occurrences =    1

Lösung mit str.format

Um die Ausgabe auszurichten, können wir str verwenden .format-Methode mit spezifischen Formatbezeichnern:

# Using str.format for alignment
print("{0: <5}".format("value  ") +
      "{1: >15}".format(prefix) +
      "- num of occurrences =   " +
      "{2: <5}".format(string.count(str(prefix))))

Formatbezeichner:

  • <5: Richten Sie die Zeichenfolge links aus innerhalb einer Breite von 5 Zeichen.
  • >15: Richten Sie die Zeichenfolge innerhalb einer Breite von 15 Zeichen rechts aus.

    Bearbeiten 1: Die „0“ in „{0: <5}“ bezieht sich auf den Index des an str.format() übergebenen Arguments.

    Edit 2: Einführung in Python 3 F-Strings als prägnante Alternative zum str.format:

    # Using f-strings for alignment
    print(f"{'value  ':<5}" +
          f"{prefix:>15}" +
          "- num of occurrences =   " +
          f"{string.count(str(prefix)):<5}")</p>

    Vorteile:

    • Verbesserte Lesbarkeit und Organisation.
    • Flexibilität bei der Angabe von Ausrichtung und Breite.
    • Kompatibilität mit Python 2 und Python 3.

    Das obige ist der detaillierte Inhalt vonWie kann ich in Python eine Ausrichtung gedruckter Zeichenfolgen mit fester Breite erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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