Python で列を揃えて印刷する

Manav Narula 2023年10月10日
  1. % 書式設定を使用して、Python で列の配置を指定して印刷する
  2. format() 関数を使用して、Python で列の配置を指定して印刷する
  3. f-strings を使用して Python で列の配置を指定して印刷する
  4. expandtabs() 関数を使用して、Python で列を揃えて印刷する
  5. just() 関数を使用して、Python で列を揃えて印刷する
  6. まとめ
Python で列を揃えて印刷する

print() 関数は Python で進化しました。 これは Python 3 のステートメントとして始まり、関数に変換されました。

特定の形式で何かを印刷するために、さまざまな方法で結果をフォーマットできます。 このチュートリアルでは、Python で列を揃えて印刷する方法を示します。

% 書式設定を使用して、Python で列の配置を指定して印刷する

% メソッドは、文字列をフォーマットし、必要なスタイルで結果を取得する最も一般的で最も古い方法の 1つです。 %-*s を使用して、列幅として機能する間隔を指定できます。

行ごとに間隔を調整する必要があります。

コード例:

print("First Name: %-*s Last Name: %s" % (13, "Jim", "Clark"))
print("Age: %-*s Website: %s" % (20, "42", "DelftStack.com"))

出力:

First Name: Jim            Last Name: Clark
Age: 42                    Website: DelftStack.com

format() 関数を使用して、Python で列の配置を指定して印刷する

format() 関数を利用して、希望するスタイルと形式で結果を出力できます。 Python で列を揃えて何かを印刷するには、すべての列に同じ数のスペースを指定する必要があります。

これは format() 関数で実現できます。 関数内で不明な値を指定し、中かっこを使用してスペースを指定できます。

コード例:

print("First Name: {0:13} Last Name: {1}".format("Jim", "Clark"))
print("Age: {0:20} Website: {1}".format("42", "DelftStack.com"))

出力:

First Name: Jim           Last Name: Clark
Age: 42                   Website: DelftStack.com

上記の例では、format() 関数を使用してユーザーの詳細を出力し、結果を整列させています。 1 行目と 2 行目に異なるスペースを指定する必要があることに注意してください。

これは、列名の長さの違いを管理するためです。

f-strings を使用して Python で列の配置を指定して印刷する

f-strings は、文字列をフォーマットする方法として Python 3 で導入されました。 これらは、以前の方法よりも比較的高速です。

f-strings を使用して、print() 関数で間隔を列幅として指定することもできます。

コード例:

print(f"{'First Name: ' + 'Jim':<25} Last Name: {'Clark'}")
print(f"{'Age: ' + '42':<25} Website: {'DelftStack.com'}")

出力:

First Name: Jim           Last Name: Clark
Age: 42                   Website: DelftStack.com

上記のコード例では、結果は完全に配置されて出力されます。 この方法を使用する利点は、行ごとに異なる間隔を指定する必要がないことです。

expandtabs() 関数を使用して、Python で列を揃えて印刷する

エスケープ文字を使用して、何かを印刷するときに新しい行、タブ、およびその他の文字を追加できます。 \t 文字は、タブを指定するために使用されます。

expandtabs() 関数でこのエスケープ文字を使用できます。 この関数は、Python でタブの間隔と列の配置を明示的に指定できます。

コード例:

print(("First Name: Jim" + "\t" + "Last Name: Clark").expandtabs(13))
print(("Age: 42" + "\t" + "Website: DelftStack.com").expandtabs(26))

出力:

First Name: Jim           Last Name: Clark
Age: 42                   Website: DelftStack.com

just() 関数を使用して、Python で列を揃えて印刷する

Python では、文字列の整列にさまざまな方法があります。 ljust()rjust、および center() 関数を使用して文字列を整列できます。

これらを使用して、要件に基づいて行を適切に整列させることができます。 この例では、ljust() 関数を示します。

この関数は、文字列を左揃えにします。 間隔は関数内で指定され、2つの行が列として整列するように同じにすることができます。

コード例:

print("First Name: Jim".ljust(40) + "Last Name: Clark")
print("Age: 42".ljust(40) + "Website: DelftStack.com")

出力:

First Name: Jim                         Last Name: Clark
Age: 42                                 Website: DelftStack.com

上記の例では、ljust() 関数で文字列を左揃えにすると、列として配置されているように見えます。 同様に、整列のために他の関数を使用できます。

まとめ

最後に、Python で列として整列された文字列を出力するいくつかの方法について説明しました。 このために、最初に、これを実現するためのさまざまな文字列フォーマット方法について説明しました。

これらのうち、fstrings が最も使いやすい方法であることが判明しました。 また、expandtabs() 関数を使用したスペーシングについても説明しました。また、ljust() などのさまざまな関数も、配置関連の問題に対して完全に機能します。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Print