python - 在 Python 中使用字符串格式添加空格
问题描述
我试图了解下面代码的行为。当我增加第一个花括号中的数字时,我会在第一列的左侧得到额外的空格。当我为第二个数字执行此操作时,我也会得到额外的空格,但在第二列的左侧。然而,当我为第三个做这件事时,什么都没有改变。为什么?
w = ['storm', 'ubuntu', 'singular', 'pineapple']
for i, word in enumerate(w):
word_index = 3
print('{:2} {:1} {:6}'.format(i, word_index, word))
解决方案
默认情况下,数字填充左侧,但字符串填充右侧(docs):
>>> "{:3}".format(1)
' 1'
>>> "{:3}".format("1")
'1 '
如果您希望字符串也右对齐,请指定它:
>>> "{:>3}".format("1")
' 1'
请注意,“storm”(长度 5)在填充到宽度 6 时实际上确实会得到一个额外的尾随空格,但由于它打印在右侧,您可能不会注意到。
推荐阅读
- sql - 保存行排序顺序的最佳方法
- python - Python FTPlib 正在使用 unix clrf 而不是 windows cldf 创建文件
- python - Pandas to openpyxl Workbook 以在 Flask 中下载文件
- neo4j - 如何在节点之间创建随机关系?
- elasticsearch - 将索引从旧版本的 elasticsearch 迁移到 elasticsearch 7.9
- cuda - 如何确保 Vulkan 使用与 CUDA 相同的 GPU?
- c++ - 查找路径是否存在的最有效算法
- reactjs - React JSX Button with Image inside,点击返回值
- google-apps-script - 如何在工作表中指定子范围以执行 sendEmails
- python - 使用中间件重定向到登录页面导致“重定向过多”问题