如何在基于特定大小的变量中使用字符串格式?

How to use string formatting in specific size based variables?

我知道当我使用

"%2d"%(x)

我会得到一个 x 的字符串,大小至少为 2,如果 x 的长度小于 2,我会在它前面加空格。 但是我怎样才能将 2 也作为变量呢? 例如:

"%nd"%(2,1)
' 1'

Python可以吗?或者我需要为它创建一个循环吗?

您可以选择使用 新样式格式 更加详细:

>>> '{:{width}d}'.format(1, width=2)
' 1'

使用*,实际宽度将从值元组的下一个元素读取,要转换的值将是以下值:

>>> "%*d" % (2, 1)
' 1'

这记录在文档的 String Formatting Operations 部分 — 它说:

  1. Minimum field width (optional). If specified as an '*' (asterisk), the actual width is read from the next element of the tuple in values, and the object to convert comes after the minimum field width and optional precision.