Python String Padding

use*_*192 0 python

我试图从每个元素之间具有不同宽度的元组输出字符串.

这是我目前使用的代码:

b = tuple3[3] + ', ' + tuple3[4] + '          ' + tuple3[0] + ' ' 
+ tuple3[2] + '          ' + '£' + tuple3[1]

print(b)
Run Code Online (Sandbox Code Playgroud)

比方说,我输入这些文本行:

12345 1312 Teso Billy Jones
12344 30000 Test John M Smith
Run Code Online (Sandbox Code Playgroud)

输出将是这样的:

Smith, John M          12344 Test          £30000
Jones, Billy          12345 Teso          £1312
Run Code Online (Sandbox Code Playgroud)

如何保持填充与3个部分之间较大的间距一致?

此外,当我直接从文本文件输入这些字符串时,这是我收到的输出:

  Smith
, John M          12344 Test          £30000
Jones, Billy          12345 Teso          £1312
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

非常感谢.

Hug*_*ell 5

字符串格式化救援!

lines_of_text = [
    (12345, 1312,  'Teso', 'Billy',  'Jones'),
    (12344, 30000, 'Test', 'John M', 'Smith')
]

for mytuple in lines_of_text:
    name = '{}, {}'.format(mytuple[4], mytuple[3])
    value = '£' + str(mytuple[1])
    print('{name:<20} {id:>8} {test:<12} {value:>8}'.format(
        name=name, id=mytuple[0], test=mytuple[2], value=value)
    )
Run Code Online (Sandbox Code Playgroud)

结果是

Jones, Billy            12345 Teso           £1312
Smith, John M           12344 Test          £30000
Run Code Online (Sandbox Code Playgroud)