📜  Python 字符串中的字符串对齐

📅  最后修改于: 2020-07-29 04:32:13             🧑  作者: Mango

Python中的文本对齐对于打印出干净的格式化输出很有用。有时,要打印的数据的长度会有所不同,从而使打印时看起来有些混乱。通过使用“ 字符串对齐”,可以通过将对齐方式定义为左,右或中心并定义要为字符串保留的空间(宽度)来对齐输出字符串。

方法:我们将使用f字符串格式化文本。输出字符串对齐的语法由'<‘,’>’,’^’定义,后跟宽度编号。

示例1:对于“左对齐”输出字符串语法,定义“ <“,后跟宽度数字。

# 此处为特定的输出字符串保留20个空格。字符串印在左侧 
print(f"{'Left Aligned Text' : <20}") 

输出:

Left Aligned Text

示例2:对于“右对齐”输出字符串语法,定义“>”,后跟宽度数字。

# 此处为特定的输出字符串保留20个空格。字符串印在右边
print(f"{'Right Aligned Text' : >20}")

输出:

Right Aligned Text

示例3:对于“中心对齐”输出字符串语法,定义“ ^”,后跟宽度数字。

# 此处为特定的输出字符串保留20个空格。字符串印在中间 
print(f"{'Centered' : ^10}") 

输出:

Centered

示例4:以对齐格式打印变量

# 将字符串分配给变量 
left_alignment = "Left Text"
center_alignment = "Centered Text"
right_alignment = "Right Text"
  
# 打印对齐的文本 
print(f"{left_alignment : <20}{center_alignment : ^15}{right_alignment : >20}") 

输出:

Left Text            Centered Text           Right Text

示例5:以对齐的列外观打印出多个列表值。

# 将列表值分配给变量 
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}") 

输出:

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