首页 > 解决方案 > 列出具有相同宽度的值

问题描述

我有一个关于 int 类型的 Python 列表:

list1 = [1, 2, 3, 4, 10, 100]

我需要获取上述列表值的另一个列表,但宽度相等,例如:

list2 = ['001', '002', '003', '004', '010', '100']

我可以通过循环遍历list1值、将它们转换为字符串、找到它们的长度并在值前面附加 0 来做到这一点,但这是一个有点长的过程,有没有更好的方法来做到这一点?

标签: python-3.x

解决方案


利用str.zfill

前任:

list1 = [1, 2, 3, 4, 10, 100]
l = len(str(max(list1)))  #Get max width
result = [str(i).zfill(l) for i in list1]
print(result)

输出:

['001', '002', '003', '004', '010', '100']

推荐阅读