How do you align prints in python?

Here is another way how you can format using 'f-string' format:

print(
    f"{'Trades:':<15}{cnt:>10}",
    f"\n{'Wins:':<15}{wins:>10}",
    f"\n{'Losses:':<15}{losses:>10}",
    f"\n{'Breakeven:':<15}{evens:>10}",
    f"\n{'Win/Loss Ratio:':<15}{win_r:>10}",
    f"\n{'Mean Win:':<15}{mean_w:>10}",
    f"\n{'Mean Loss:':<15}{mean_l:>10}",
    f"\n{'Mean:':<15}{mean_trd:>10}",
    f"\n{'Std Dev:':<15}{sd:>10}",
    f"\n{'Max Loss:':<15}{max_l:>10}",
    f"\n{'Max Win:':<15}{max_w:>10}",
    f"\n{'Sharpe Ratio:':<15}{sharpe_r:>10}",
)

This will provide the following output:

Trades:              2304
Wins:                1232
Losses:              1035
Breakeven:             37
Win/Loss Ratio:      1.19
Mean Win:           0.381
Mean Loss:         -0.395
Mean:               0.026
Std Dev:             0.56
Max Loss:          -3.406
Max Win:             4.09
Sharpe Ratio:      0.7395

What you are doing here is you are saying that the first column is 15 chars long and it's left-justified and the second column (values) is 10 chars long and it's right-justified.

If you joining items from the list and you want to format space between items you can use `` and regular formatting techniques.

This example separates each number by 3 spaces. The key here is f"{'':>3}"

print(f"{'':>3}".join(str(i) for i in range(1, 11)))

output:

1   2   3   4   5   6   7   8   9   10

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    Text Alignment in Python is useful for printing out clean formatted output. Some times the data to be printed varies in length which makes it look messy when printed. By using String Alignment the output string can be aligned by defining the alignment as left, right or center and also defining space (width) to reserve for the string.

    Approach : We will be using the f-strings to format the text. The syntax of the alignment of the output string is defined by ‘<‘, ‘>’, ‘^’ and followed by the width number.

    Example 1 : For Left Alignment output string syntax define ‘<‘ followed by the width number.

    print(f"{'Left Aligned Text' : <20}")

    Output :

    Left Aligned Text

    Example 2 : For Right Alignment output string syntax define ‘>’ followed by the width number.

    print(f"{'Right Aligned Text' : >20}")

    Output :

      Right Aligned Text

    Example 3 : For Center Alignment output string syntax define ‘^’ followed by the width number.

    print(f"{'Centered' : ^10}")

    Output :

     Centered 

    Example 4 : Printing variables in Aligned format

    left_alignment = "Left Text"

    center_alignment = "Centered Text"

    right_alignment = "Right Text"

    print(f"{left_alignment : <20}{center_alignment : ^15}{right_alignment : >20}")

    Output :

    Left Text            Centered Text           Right Text
    

    Example 5 : Printing out multiple list values in aligned column look.

    names = ['Raj', 'Shivam', 'Shreeya', 'Kartik']

    marks = [7, 9, 8, 5]

    div = ['A', 'A', 'C', 'B']

    id = [21, 52, 27, 38]

    print(f"{'Name' : <10}{'Marks' : ^10}{'Division' : ^10}{'ID' : >5}")

    for i in range(0, 4):

        print(f"{names[i] : <10}{marks[i] : ^10}{div[i] : ^10}{id[i] : >5}")

    Output :

    Name        Marks    Division    ID
    Raj           7         A        21
    Shivam        9         A        52
    Shreeya       8         C        27
    Kartik        5         B        38
    


    How do you align data in Python?

    Text Alignment You can align values within a specified length of text by using the < , > , or ^ symbols to specify left align, right align, or centering, respectively. Then you follow the those symbols with a character width you desire.

    How do you align a string in Python?

    Alignment of Strings Using the format() Method in Python To left-align a string, we use the “:<n” symbol inside the placeholder. Here n is the total length of the required output string. Left Aligned String with length 10 is: Scaler . To right align a string, we use the “:>n” symbol inside the placeholder.

    How do you print left Align in Python?

    Use str. format() to left align a string format(string) with str as "{:(char)<(width)}" to left align string with the padding character char up to a length width .

    How do you align text in a text file in Python?

    To set the alignment, use the character < for left-align, ^ for center, > for right.