如何控制Python打印列间距,实现Numpy数组元素对齐显示?
解决NumPy数组元素打印对齐问题
问题背景
当前代码用固定空格分隔两个NumPy数组元素打印,导致输出列无法对齐,需要调整格式让两列元素整齐排列。
现有代码
import numpy as np add_name1 = np.array([30, 4000, 5000, 60]) #array1 add1 = np.array([600, 50, 4000, 3000000]) #array2 for item_a, item_b in zip(add_name1, add1): print( item_a," ", item_b)
当前输出
30 600 4000 50 5000 4000 60 3000000
期望输出
30 600 4000 50 5000 4000 60 3000000
解决方案
通过字符串格式化指定宽度强制第一列元素占据固定宽度并左对齐,即可实现列对齐,以下是两种常用实现方式:
方法1:使用f-string格式化(Python 3.6+)
修改循环内的打印语句,用<8指定第一列左对齐且占8个字符宽度:
import numpy as np add_name1 = np.array([30, 4000, 5000, 60]) #array1 add1 = np.array([600, 50, 4000, 3000000]) #array2 for item_a, item_b in zip(add_name1, add1): print(f"{item_a:<8} {item_b}")
方法2:使用str.format()格式化
兼容更早Python版本的写法:
import numpy as np add_name1 = np.array([30, 4000, 5000, 60]) #array1 add1 = np.array([600, 50, 4000, 3000000]) #array2 for item_a, item_b in zip(add_name1, add1): print("{:<8} {}".format(item_a, item_b))
执行修改后的代码,就能得到整齐对齐的输出。
内容的提问来源于stack exchange,提问作者nai_melissa
相关产品推荐
相关产品推荐

