Python打印有序列表如何用点代替制表符空位实现内容对齐
你可以直接用Python原生的字符串格式化功能实现,不需要手动计算需要补充的点数量:
固定宽度版本(适合列表长度不超过99的场景,最简洁)
print('\n--Shopping List--') with open("ShoppingList.txt","r") as lst: for index, data in enumerate(lst, start=1): # 序号+点号左对齐,总宽度5,空位用点填充 print(f"{f'{index}.':.<5}{data}", end='') print()
动态适配宽度版本(适合任意长度的列表,自动对齐)
如果不确定列表总长度,可以先读取所有内容计算最大序号的位数,自动调整填充宽度:
print('\n--Shopping List--') with open("ShoppingList.txt","r") as lst: items = lst.readlines() # 计算最大序号的位数 max_idx_length = len(str(len(items))) # 总宽度 = 最大序号位数 + 1(点号) + 最少补点数量,可自行调整 total_width = max_idx_length + 4 for index, data in enumerate(items, start=1): print(f"{f'{index}.':.<{total_width}}{data}", end='') print()
语法说明
:.<宽度是Python格式化的标准语法:
.表示空位用点号填充<表示内容左对齐- 后面的数字表示最终输出的总宽度
两种实现都完全符合你需要的填充对齐效果,不需要额外的计数逻辑。
内容的提问来源于stack exchange,提问作者LV_Pessi
相关产品推荐
相关产品推荐

