ホームページ > バックエンド開発 > Python チュートリアル > Python で出力された文字列を固定幅に配置するにはどうすればよいですか?

Python で出力された文字列を固定幅に配置するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-05 22:32:02
オリジナル
817 人が閲覧しました

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

固定幅配置で文字列を印刷する

プログラミングでは、わかりやすくし、視覚的に整理するために、文字列を固定列に配置することが望ましいことがよくあります。この記事では、Python の高度な書式設定テクニックを使用してこれを実現する方法について説明します。

問題: 不均一な文字列値の整列

指定された文字列内のすべての順列の頻度を計算する次のコードを考えてみましょう。

# 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)))
ログイン後にコピー

ただし、文字列の長さが異なるため、出力が整列していないように見える場合があります。

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
ログイン後にコピー

str.format を使用した解決策

出力を整列するには、str を利用できます。特定の書式指定子を含む .format メソッド:

# Using str.format for alignment
print("{0: <5}".format("value  ") +
      "{1: >15}".format(prefix) +
      "- num of occurrences =   " +
      "{2: <5}".format(string.count(str(prefix))))
ログイン後にコピー

書式指定子:

  • <5: 文字列を左揃えにします
  • >15: 文字列を 15 文字幅以内で右揃えします。

    編集 1: "{0:

    編集 2: Python 3 では、 str.format の簡潔な代替としての f-strings:

    # Using f-strings for alignment
    print(f"{'value  ':<5}" +
          f"{prefix:>15}" +
          "- num of occurrences =   " +
          f"{string.count(str(prefix)):<5}")
    ログイン後にコピー

    利点:

    • 可読性と構成の強化。
    • 柔軟性配置と幅を指定します。
    • Python 2 と Python 3 の両方との互換性があります。

    以上がPython で出力された文字列を固定幅に配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート