Skylar Stickley
Skylar Stickley

Reputation: 27

Python - Place a character in between a formatted string

Lets say I want to print out

Item 1           |         Item 2
A Third item     |             #4

Which can be done without the | by doing

print('%s20  %20s' % (value1,value2))

How would I go about placing the | character so that it is evenly justified between the two formatted values?

I suppose I could manually could the length of the formatted string without the | character and then insert the | in the middle but I am hoping for a more elegant solution!

Thank you very much for your time.

Edit: Here is a solution that I suggested would be possible

def PrintDoubleColumn(value1, value2):
  initial =  '%s20  %20s' % (value1,value2)
  lenOfInitial = len(initial)
  print(initial[:lenOfInitial/2] +'|' + initial[lenOfInitial/2+1:])

Upvotes: 0

Views: 101

Answers (1)

user1767754
user1767754

Reputation: 25094

There is a good source for string format operations: https://pyformat.info/#string_pad_align

x = [1, 2, 3, 4, 5]
y = ['a', 'b', 'c', 'd', 'e']

for i in range(0, 5):
    print "{0:<20}|{1:>20}".format(x[i], y[i])

Result:

1                    |                    a
2                    |                    b
3                    |                    c
4                    |                    d
5                    |                    e

Upvotes: 4

Related Questions