将前导零添加到 Python 中的数字列表
add leading zeros to a list of numbers in Python
我是 Python 的新手。我正在尝试调整如下所示的列表格式:
data=[1,10,313,4000,51234,123456]
并且我想将它们转换为带有前导零的字符串列表:
result=['000001','000010','000313','004000','051234','123456']
每个元素有 6 个数字。
我知道对于单个数字 X,我可以做到:
str(X).zfill(6)
但我不确定如何将其应用于列表。我想在不使用 for 循环的情况下解决这个问题。
有人能帮忙吗?谢谢
应用相同的 zfill
function in a list comprehension,像这样
>>> [str(item).zfill(6) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']
或者,您可以使用字符串的 format
method, with format specifiers,像这样
>>> ["{:06d}".format(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']
如果您要更频繁地进行格式化,那么您可以将其存储在一个变量中,就像这样
>>> formatter = "{:06d}".format
>>> [formatter(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']
如果你正在使用 Python 2.x,那么你可以使用 map
和 formatter
函数,像这样
>>> map(formatter, data)
['000001', '000010', '000313', '004000', '051234', '123456']
如果您正在使用 Python 3.x、map
returns 可迭代的 map
对象。所以,你需要显式地创建一个列表,像这样
>>> list(map(formatter, data))
['000001', '000010', '000313', '004000', '051234', '123456']
我是 Python 的新手。我正在尝试调整如下所示的列表格式:
data=[1,10,313,4000,51234,123456]
并且我想将它们转换为带有前导零的字符串列表:
result=['000001','000010','000313','004000','051234','123456']
每个元素有 6 个数字。
我知道对于单个数字 X,我可以做到:
str(X).zfill(6)
但我不确定如何将其应用于列表。我想在不使用 for 循环的情况下解决这个问题。
有人能帮忙吗?谢谢
应用相同的 zfill
function in a list comprehension,像这样
>>> [str(item).zfill(6) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']
或者,您可以使用字符串的 format
method, with format specifiers,像这样
>>> ["{:06d}".format(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']
如果您要更频繁地进行格式化,那么您可以将其存储在一个变量中,就像这样
>>> formatter = "{:06d}".format
>>> [formatter(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']
如果你正在使用 Python 2.x,那么你可以使用 map
和 formatter
函数,像这样
>>> map(formatter, data)
['000001', '000010', '000313', '004000', '051234', '123456']
如果您正在使用 Python 3.x、map
returns 可迭代的 map
对象。所以,你需要显式地创建一个列表,像这样
>>> list(map(formatter, data))
['000001', '000010', '000313', '004000', '051234', '123456']