下面的代码中 `"{:0>2d}".format(count)` 是什么意思?

RUP*_*JEE -2 python string python-3.x

我遇到了这段代码...

def coordinate(my_list):
    coordinate = []     
    count = -1
    for num in my_list:
         count += 1
         coordinate.append("%s-%s" % ("{:0>2d}".format(count), my_list[count]))
    return coordinate       

print ( coordinate(['x','y','z']))
Run Code Online (Sandbox Code Playgroud)

预期的输出类型是

coordinate(['A', 'B', 'C', 'D'])
>>>['00-A', '01-B', '02-C', '03-D']
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我不明白

coordinate.append("%s-%s" % ("{:0>2d}".format(count), my_list[count]))
Run Code Online (Sandbox Code Playgroud)

这部分代码... "{:0>2d}"and到底.format(count)是用来做什么的?他们如何运作?请解释。

Yu *_*Hao 6

这是str.format功能。

在格式字符串中"{:0>2d}"

d意味着期待一个 int:

>>> "{:d}".format(3)
'3'
Run Code Online (Sandbox Code Playgroud)

2d表示使用填充将格式设置为 2 个字符(默认为空格)

>>> "{:2d}".format(3)
' 3'
Run Code Online (Sandbox Code Playgroud)

0>表示用作0padding,并向右调整结果:

>>> "{:0>2d}".format(3)
'03'
Run Code Online (Sandbox Code Playgroud)